Draw inside & outside correctly in figure mode

Make the inside a little brighter
This commit is contained in:
bkuker 2013-03-10 14:55:39 -04:00
parent dd730a5ed9
commit 9a8b4852a3

View File

@ -91,6 +91,18 @@ public class FigureRenderer extends RocketRenderer {
}
}
//Inside
convertColor(figureColor, color);
color[0] = color[0] * 0.7f;
color[1] = color[1] * 0.7f;
color[2] = color[2] * 0.7f;
color[3] = 1.0f;
gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_DIFFUSE, color, 0);
gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_AMBIENT, color, 0);
cr.getGeometry(c, Surface.INSIDE).render(gl);
//OUtside
// Set up the front A&D color
convertColor(figureColor, color);
color[3] = alpha;
@ -108,19 +120,13 @@ public class FigureRenderer extends RocketRenderer {
gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_SPECULAR, color, 0);
gl.glMateriali(GL.GL_FRONT, GLLightingFunc.GL_SHININESS, getShine(c));
cr.getGeometry(c, Surface.OUTSIDE).render(gl);
cr.getGeometry(c, Surface.EDGES).render(gl);
color[0] = color[1] = color[2] = 0;
gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_SPECULAR, color, 0);
gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_SPECULAR, color, 0);
//Back A&D
convertColor(figureColor, color);
color[0] = color[0] * 0.4f;
color[1] = color[1] * 0.4f;
color[2] = color[2] * 0.4f;
color[3] = alpha;
gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_DIFFUSE, color, 0);
gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_AMBIENT, color, 0);
cr.getGeometry(c, Surface.ALL).render(gl);
}
@Override
@ -162,7 +168,7 @@ public class FigureRenderer extends RocketRenderer {
@Override
protected void renderMotor(GL2 gl, Motor motor) {
final float outside[] = { 0.2f, 0.2f, 0.2f, 1.0f };
final float outside[] = { 0.3f, 0.3f, 0.3f, 1.0f };
gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_DIFFUSE, outside, 0);
gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_AMBIENT, outside, 0);
super.renderMotor(gl, motor);