42 lines
1.2 KiB
Java
42 lines
1.2 KiB
Java
package com.danitheskunk.skunkworks.backends.gl;
|
|
|
|
import com.danitheskunk.skunkworks.Vec3f;
|
|
import com.danitheskunk.skunkworks.gfx.threedee.BaseRenderContext3D;
|
|
import com.danitheskunk.skunkworks.gfx.threedee.Mesh;
|
|
|
|
import static org.lwjgl.opengl.GL46.*;
|
|
|
|
public class RenderContext3D extends BaseRenderContext3D {
|
|
@Override
|
|
public void renderTriangle(Vec3f p1, Vec3f p2, Vec3f p3) {
|
|
glBegin(GL_TRIANGLES);
|
|
|
|
glVertex3d(p1.getX(), p1.getY(), p1.getZ());
|
|
glVertex3d(p2.getX(), p2.getY(), p2.getZ());
|
|
glVertex3d(p3.getX(), p3.getY(), p3.getZ());
|
|
|
|
/*
|
|
glVertex3f((float) p1.getX(), (float) p1.getY(), (float) p1.getZ());
|
|
glVertex3f((float) p2.getX(), (float) p2.getY(), (float) p2.getZ());
|
|
glVertex3f((float) p3.getX(), (float) p3.getY(), (float) p3.getZ());
|
|
*/
|
|
|
|
glEnd();
|
|
}
|
|
|
|
@Override
|
|
public void renderMesh(Mesh mesh) {
|
|
glBegin(GL_TRIANGLES);
|
|
for(int i = 0; i < mesh.getTriangleCount(); ++i) {
|
|
var tri = mesh.getTriangle(i);
|
|
var p1 = mesh.getVertex(tri.getX());
|
|
var p2 = mesh.getVertex(tri.getY());
|
|
var p3 = mesh.getVertex(tri.getZ());
|
|
glVertex3d(p1.getX(), p1.getY(), p1.getZ());
|
|
glVertex3d(p2.getX(), p2.getY(), p2.getZ());
|
|
glVertex3d(p3.getX(), p3.getY(), p3.getZ());
|
|
}
|
|
glEnd();
|
|
}
|
|
}
|