2 package jarmos.pc.visual;
7 import javax.media.opengl.GL2;
8 import javax.media.opengl.GLAutoDrawable;
9 import javax.media.opengl.GLEventListener;
23 super(vData, width, height);
30 public void display(GLAutoDrawable drawable) {
32 GL2 gl = drawable.getGL().getGL2();
33 gl.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
34 gl.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT);
37 gl.glEnable(GL2.GL_DEPTH_TEST);
42 gl.glDisable(GL2.GL_CULL_FACE);
43 gl.glFrontFace(GL2.GL_CCW);
45 gl.glEnable(GL2.GL_CULL_FACE);
46 gl.glFrontFace(GL2.GL_CW);
54 gl.glEnable(GL2.GL_LIGHTING);
55 gl.glEnable(GL2.GL_LIGHT0);
56 gl.glEnable(GL2.GL_COLOR_MATERIAL);
59 gl.glMaterialf(GL2.GL_FRONT_AND_BACK, GL2.GL_SHININESS, 128);
62 float lightAmbient[] = { 0.5f, 0.5f, 0.5f, 1.0f };
63 gl.glLightfv(GL2.GL_LIGHT0, GL2.GL_AMBIENT, lightAmbient, 0);
65 float lightDiffuse[] = { 0.8f, 0.8f, 0.8f, 1.0f };
66 gl.glLightfv(GL2.GL_LIGHT0, GL2.GL_DIFFUSE, lightDiffuse, 0);
68 float[] lightSpecular = { 0.7f, 0.7f, 0.7f, 1.0f };
69 gl.glLightfv(GL2.GL_LIGHT0, GL2.GL_SPECULAR, lightSpecular, 0);
72 gl.glLightfv(GL2.GL_LIGHT0, GL2.GL_POSITION, lightPosition, 0);
75 gl.glLightfv(GL2.GL_LIGHT0, GL2.GL_SPOT_DIRECTION, lightDirection, 0);
77 gl.glLightf(GL2.GL_LIGHT0, GL2.GL_SPOT_CUTOFF, 45.0f);
81 gl.glNormalPointer(GL2.GL_FLOAT, 0,
floatBuf);
102 gl.glVertexPointer(3, GL2.GL_FLOAT, 0,
floatBuf);
109 gl.glColorPointer(4, GL2.GL_FLOAT, 0,
floatBuf);
121 gl.glColor4f(0.1f, 0.1f, 0.1f, 0.5f);
137 public void dispose(GLAutoDrawable drawable) {
150 public void init(GLAutoDrawable drawable) {
154 GL2 gl = drawable.getGL().getGL2();
155 gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
156 gl.glMatrixMode(GL2.GL_PROJECTION);
160 gl.glOrthof(o[0], o[1], o[2], o[3], o[4], o[5]);
163 gl.glMatrixMode(GL2.GL_MODELVIEW);
167 gl.glClearColor(1f, 1f, 1f, 1.0f);
170 gl.glEnable(GL2.GL_CULL_FACE);
172 gl.glFrontFace(GL2.GL_CCW);
174 gl.glCullFace(GL2.GL_BACK);
178 gl.glEnableClientState(GL2.GL_VERTEX_ARRAY);
179 gl.glEnableClientState(GL2.GL_COLOR_ARRAY);
183 gl.glEnableClientState(GL2.GL_NORMAL_ARRAY);
191 public void reshape(GLAutoDrawable drawable,
int x,
int y,
int w,
int h) {
193 GL2 gl = drawable.getGL().getGL2();
194 gl.glViewport(0, 0, w,
h);
void initRendering()
Initializes the rendering process (Vertex, face, color and normal openGL buffers) ...
int getCurrentVertexOffset()
void display(GLAutoDrawable drawable)
void init(GLAutoDrawable drawable)
int getCurrentColorOffset()
int getCurrentWireframeOffset()
void setSize(int width, int height)
void dispose(GLAutoDrawable drawable)
boolean isFrontFace
Flag that indicates whether the front face should be rendered or not.
float[] getRotationMatrix()
A container class for all model visual data.
Provides the OpenGL rendering routines for the JOGL package.
float[] getOrtographicProj()
int getCurrentNormalsOffset()
JOGLRenderer(VisualizationData vData, int width, int height)
void reshape(GLAutoDrawable drawable, int x, int y, int w, int h)
Base class for OpenGL visualisation.