Advanced Getting Started: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 21: | Line 21: | ||
GLUniformData pmvMatrixUniform; | GLUniformData pmvMatrixUniform; | ||
init code... | |||
PMVMatrix pmvMatrix = ...; | PMVMatrix pmvMatrix = ...; | ||
state.attachObject("pmvMatrix", pmvMatrix); | state.attachObject("pmvMatrix", pmvMatrix); | ||
Line 27: | Line 28: | ||
state.uniform(gl, pmvMatrixUniform); | state.uniform(gl, pmvMatrixUniform); | ||
display code... | |||
state.uniform(gl, pmvMatrixUniform); | state.uniform(gl, pmvMatrixUniform); | ||
Revision as of 23:11, 27 October 2012
Moving from OpenGL Fixed Functions
pmvMatrix
com.jogamp.opengl.util.PMVMatrix
pmvMatrix can make a matrix by using glTranslate/glRotate etc. FFP instructions.
Example (for camera):
pmvMatrix.glMatrixMode(GLMatrixFunc.GL_PROJECTION); pmvMatrix.glLoadIdentity(); pmvMatrix.gluPerspective(fov, aspect, zNear, zFar); pmvMatrix.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); pmvMatrix.glLoadIdentity(); pmvMatrix.glRotatef(360 - pitch, 1, 0, 0); pmvMatrix.glRotatef(360 - yaw, 0, 1, 0); pmvMatrix.glRotatef(360 - roll, 0, 0, 1); pmvMatrix.glTranslatef(-position.x, -position.y, -position.z); pmvMatrix.update();
Using with shaders:
GLUniformData pmvMatrixUniform;
init code...
PMVMatrix pmvMatrix = ...; state.attachObject("pmvMatrix", pmvMatrix); pmvMatrixUniform = new GLUniformData("pmvMatrix", 4, 4, pmvMatrix.glGetPMvMatrixf()); state.ownUniform(pmvMatrixUniform); state.uniform(gl, pmvMatrixUniform);
display code...
state.uniform(gl, pmvMatrixUniform);
immModeSink
com.jogamp.opengl.util.ImmModeSink
ImmModeSink can make VBO by using FFP instructions