本文整理汇总了C++中GLSLShader::load方法的典型用法代码示例。如果您正苦于以下问题:C++ GLSLShader::load方法的具体用法?C++ GLSLShader::load怎么用?C++ GLSLShader::load使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GLSLShader
的用法示例。
在下文中一共展示了GLSLShader::load方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: initOpenGLContext
////////////////////////////////////////////////////////////////////////////////////////////////////
//! Program main
//! @param argc number of command line arguments
//! @param argv handle to the array containing the command line arguments
////////////////////////////////////////////////////////////////////////////////////////////////////
int
main( int argc, char** argv) {
int running = GL_TRUE;
initOpenGLContext(argc, argv);
// set OpenGL states
setOpenGLStates();
// load ressources
blinnPhongShader.load("shaders/BlinnPhong");
m_MVHandle = glGetUniformLocation(blinnPhongShader.getProgramObject(), "uMVMatrix");
m_MVPHandle = glGetUniformLocation(blinnPhongShader.getProgramObject(), "uMVPMatrix");
m_NormalMatrixHandle = glGetUniformLocation(blinnPhongShader.getProgramObject(), "uNormalMatrix");
m_lightPosition = glGetUniformLocation(blinnPhongShader.getProgramObject(), "uLightPosition");
m_lightAmbient = glGetUniformLocation(blinnPhongShader.getProgramObject(), "my_light.ambient");
m_lightDiffuse = glGetUniformLocation(blinnPhongShader.getProgramObject(), "my_light.diffuse");
m_lightSpecular = glGetUniformLocation(blinnPhongShader.getProgramObject(), "my_light.specular");
m_MaterialAmbient = glGetUniformLocation(blinnPhongShader.getProgramObject(), "my_material.ambient");
m_MaterialDiffuse = glGetUniformLocation(blinnPhongShader.getProgramObject(), "my_material.diffuse");
m_MaterialSpecular = glGetUniformLocation(blinnPhongShader.getProgramObject(), "my_material.specular");
m_MaterialShininess = glGetUniformLocation(blinnPhongShader.getProgramObject(), "my_material.shininess");
// TODO LOAD MESH
mesh.loadOff("meshes/camel_head.off", blinnPhongShader.getProgramObject());
// register glut callbacks
//glutDisplayFunc( display);
//glutKeyboardFunc( keyboard);
//glutMouseFunc(mousePressed);
//glutMotionFunc(mouseMoved);
//glutReshapeFunc(reshape);
glfwSetWindowSizeCallback(reshape);
glfwSetMousePosCallback(mouseMoved);
// let's rock ...
//glutMainLoop();
while (running) {
display();
glfwSwapBuffers();
running = !glfwGetKey(GLFW_KEY_ESC) && glfwGetWindowParam(GLFW_OPENED);
}
glfwTerminate();
return 0;
}
示例2: display
// display callback
// XXX: NEEDS TO BE IMPLEMENTED
void World::display() {
glClearColor(0.2, 0.2, 0.2, 0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
// position the camera at (0,0,cameraZ) looking down the
// negative z-axis at (0,0,0)
gluLookAt(0.0, 0.0, cameraZ, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
GLfloat lightPosition[]= { 5.0, 5.0, 5.0, 0.0 };
glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
// shift object
glTranslatef(shift.x, shift.y, shift.z);
// rotate Object
glRotatef(rotation.x, 1.0f, 0.0f, 0.0f);
glRotatef(rotation.y, 0.0f, 1.0f, 0.0f);
// show coordinate system
if (showCoordinates) {
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE_2D);
glBegin(GL_LINES);
glColor3ub(255, 0, 0);
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(1.0, 0.0, 0.0);
glColor3ub(0, 255, 0);
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(0.0, 1.0, 0.0);
glColor3ub(0, 0, 255);
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(0.0, 0.0, 1.0);
glEnd();
}
// show center of spherical mapping
if (showOrigin) {
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE_2D);
glColor3f(1.0, 1.0, 0.0);
glPushMatrix();
glutSolidSphere(0.05f, 20, 20);
glPopMatrix();
}
// draw cursor
// XXX
// INSERT YOUR CODE HERE
glBegin(GL_LINES);
glColor3ub(255, 0, 0);
glVertex3f(0.0, 0.0, 0.0);
glVertex3f(cursor.x, cursor.y, cursor.z);
glEnd();
// END XXX
glScalef(scale, scale, scale);
if (doLighting)
glEnable(GL_LIGHTING);
else
glDisable(GL_LIGHTING);
// draw the geometry
// if showTexture is true, enable texturing in opengl
// XXX
// INSERT YOUR CODE HERE
if (showTexture) {
glEnable(GL_TEXTURE_2D);
}
// END XXX
glColor3f(1, 1, 1);
if (environmentMapping) {
if (!shaderIsLoaded) {
myShader.load("shaders/emBlinnPhong");
shaderIsLoaded = 1;
}
myShader.bindShader();
}
if (drawRect) {
// draw a textured quad
//.........这里部分代码省略.........