本文整理汇总了C++中GLSLProgram::compile方法的典型用法代码示例。如果您正苦于以下问题:C++ GLSLProgram::compile方法的具体用法?C++ GLSLProgram::compile怎么用?C++ GLSLProgram::compile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GLSLProgram
的用法示例。
在下文中一共展示了GLSLProgram::compile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: attachToProgramObject
//-----------------------------------------------------------------------
void GLSLProgram::attachToProgramObject( const GLhandleARB programObject )
{
glAttachObjectARB( programObject, mGLHandle );
checkForGLSLError( "GLSLLinkProgram::GLSLLinkProgram",
"Error attaching " + mName + " shader object to GLSL Program Object", programObject );
// attach child objects
GLSLProgramContainerIterator childprogramcurrent = mAttachedGLSLPrograms.begin();
GLSLProgramContainerIterator childprogramend = mAttachedGLSLPrograms.end();
while (childprogramcurrent != childprogramend)
{
GLSLProgram* childShader = *childprogramcurrent;
// bug in ATI GLSL linker : modules without main function must be recompiled each time
// they are linked to a different program object
// don't check for compile errors since there won't be any
// *** minor inconvenience until ATI fixes there driver
childShader->compile(false);
childShader->attachToProgramObject( programObject );
++childprogramcurrent;
}
}
示例2: attachToProgramObject
//-----------------------------------------------------------------------
void GLSLProgram::attachToProgramObject( const GLuint programObject )
{
// attach child objects
GLSLProgramContainerIterator childprogramcurrent = mAttachedGLSLPrograms.begin();
GLSLProgramContainerIterator childprogramend = mAttachedGLSLPrograms.end();
while (childprogramcurrent != childprogramend)
{
GLSLProgram* childShader = *childprogramcurrent;
// bug in ATI GLSL linker : modules without main function must be recompiled each time
// they are linked to a different program object
// don't check for compile errors since there won't be any
// *** minor inconvenience until ATI fixes there driver
childShader->compile(true);
childShader->attachToProgramObject( programObject );
++childprogramcurrent;
}
OGRE_CHECK_GL_ERROR(glAttachShader(programObject, mGLShaderHandle));
logObjectInfo( "Error attaching " + mName + " shader object to GLSL Program Object", programObject );
}