在Qt的 OpenGL库的QGLFunctions类中添加函数步骤
1.在qglfunctions.cpp中添加qglfResolveMultiTexCoord2f;
static void qglfResolveMultiTexCoord2f(GLenum texture, GLfloat s, GLfloat t)
{
typedef void (QGLF_APIENTRYP type_glMultiTexCoord2f)(GLenum texture, GLfloat s, GLfloat t);
const QGLContext *context = QGLContext::currentContext();
QGLFunctionsPrivate *funcs = qt_gl_functions(context);
funcs->MultiTexCoord2f = (type_glMultiTexCoord2f)
context->getProcAddress(QLatin1String("glMultiTexCoord2f"));
if (!funcs->MultiTexCoord2f) {
funcs->MultiTexCoord2f = (type_glMultiTexCoord2f)
context->getProcAddress(QLatin1String("glMultiTexCoord2fARB"));
}
if (funcs->MultiTexCoord2f)
funcs->MultiTexCoord2f(texture, s, t);
else
funcs->MultiTexCoord2f = qglfResolveMultiTexCoord2f;
}
2.在QGLFunctionsPrivate函数中
QGLFunctionsPrivate::QGLFunctionsPrivate(const QGLContext *)添加
MultiTexCoord2f = qglfResolveMultiTexCoord2f;
头文件qglfunctions.h中添加
3. struct QGLFunctionsPrivate中添加
void (QGLF_APIENTRYP MultiTexCoord2f)(GLenum target, GLfloat s, GLfloat t);
4. 添加函数
inline void QGLFunctions::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t)
{
#if defined(QT_OPENGL_ES_1) || defined(QT_OPENGL_ES_2)
::glMultiTexCoord2f(target, s, t);
#else
Q_ASSERT(QGLFunctions::isInitialized(d_ptr));
d_ptr->MultiTexCoord2f(target, s, t);
#endif
}
5.类中添加
class Q_OPENGL_EXPORT QGLFunctions类中添加
void glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t);