Skip to content
Snippets Groups Projects
Commit f9c00ee3 authored by Richard Pajerský's avatar Richard Pajerský
Browse files

Renders material instead of color

parent 7317d4c7
No related branches found
No related tags found
No related merge requests found
...@@ -62,9 +62,7 @@ public class SceneRenderer { ...@@ -62,9 +62,7 @@ public class SceneRenderer {
gl.glEnable(GL2.GL_NORMALIZE); gl.glEnable(GL2.GL_NORMALIZE);
gl.glDisable(GL2.GL_CULL_FACE); gl.glDisable(GL2.GL_CULL_FACE);
//color enabled gl.glEnable(GL2.GL_BLEND); // enabled transparency
gl.glEnable(GL2.GL_COLOR_MATERIAL);
gl.glEnable(GL2.GL_BLEND);
gl.glBlendFunc(GL2.GL_SRC_ALPHA, GL2.GL_ONE_MINUS_SRC_ALPHA); gl.glBlendFunc(GL2.GL_SRC_ALPHA, GL2.GL_ONE_MINUS_SRC_ALPHA);
} }
...@@ -139,11 +137,7 @@ public class SceneRenderer { ...@@ -139,11 +137,7 @@ public class SceneRenderer {
} }
for (DrawableMesh obj: drawables) { for (DrawableMesh obj: drawables) {
// render color setMaterial(obj);
Color color = obj.getColor();
gl.glColor4d(color.getRed() / 255d, color.getGreen() / 255d,
color.getBlue() / 255d , obj.getTransparency());
for (MeshFacet facet: obj.getFacets()) { for (MeshFacet facet: obj.getFacets()) {
// rotate // rotate
gl.glPushMatrix(); gl.glPushMatrix();
...@@ -161,6 +155,21 @@ public class SceneRenderer { ...@@ -161,6 +155,21 @@ public class SceneRenderer {
gl.glFlush(); gl.glFlush();
} }
/**
* Sets up material based on DrawableMesh
*/
private void setMaterial(DrawableMesh obj) {
Color color = obj.getColor();
float[] rgba = {color.getRed() / 255f, color.getGreen() / 255f,
color.getBlue() / 255f , obj.getTransparency()};
gl.glMaterialfv(GL2.GL_FRONT_AND_BACK, GL2.GL_AMBIENT, rgba, 0);
gl.glMaterialfv(GL2.GL_FRONT_AND_BACK, GL2.GL_DIFFUSE, rgba, 0);
/*color = obj.getHighlights();
float[] highlights = {color.getRed(), color.getGreen(), color.getBlue(), 1};
gl.glMaterialf(GL2.GL_FRONT_AND_BACK, GL2.GL_SHININESS, 50);
gl.glMaterialfv(GL2.GL_FRONT_AND_BACK, GL2.GL_SPECULAR, highlights, 0);*/
}
/** /**
* Clears the scene and prepares it for the re-drawing. * Clears the scene and prepares it for the re-drawing.
*/ */
...@@ -211,5 +220,4 @@ public class SceneRenderer { ...@@ -211,5 +220,4 @@ public class SceneRenderer {
gl.glEnd(); gl.glEnd();
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment