Advanced Getting Started: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 17: | Line 17: | ||
pmvMatrix.glTranslatef(-position.x, -position.y, -position.z); | pmvMatrix.glTranslatef(-position.x, -position.y, -position.z); | ||
pmvMatrix.update(); | pmvMatrix.update(); | ||
Using with shaders: | |||
GLUniformData pmvMatrixUniform; | |||
PMVMatrix pmvMatrix = ...; | |||
state.attachObject("pmvMatrix", pmvMatrix); | |||
pmvMatrixUniform = new GLUniformData("pmvMatrix", 4, 4, pmvMatrix.glGetPMvMatrixf()); | |||
state.ownUniform(pmvMatrixUniform); | |||
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;
PMVMatrix pmvMatrix = ...; state.attachObject("pmvMatrix", pmvMatrix); pmvMatrixUniform = new GLUniformData("pmvMatrix", 4, 4, pmvMatrix.glGetPMvMatrixf()); state.ownUniform(pmvMatrixUniform); state.uniform(gl, pmvMatrixUniform);
state.uniform(gl, pmvMatrixUniform);
immModeSink
com.jogamp.opengl.util.ImmModeSink
ImmModeSink can make VBO by using FFP instructions