[英]OpenGl instanced rendering in Qt5
Qt 4中没有QOpenGLFunctions这样的东西(QOpenGL 5中已经引入了QOpenGL *类)。
您的两个链接的确指向两个不同的Qt 5类: QOpenGLFunctions_4_2_Core
和QOpenGLFunctions
。
这两个类都是OpenGL函数解析器,因此您可以编写如下内容:
// get the object from somewhere (usually, a QOpenGLContext)
QOpenGLFunctions *functions = ...
functions->glCreateShader(...);
functions->glDrawArrays(...);
它们之间的区别是:
_X_Y_Profile
类仅在与类名兼容的Desktop OpenGL上下文中工作(例如, 4_2_Core
将在版本等于或大于4.2的任何OpenGL上下文以及Core或Compatibility概要文件中使用)。 如果要使用实例化,可以选择合适的QOpenGLFUnctions_X_Y_Profile
如果您仅瞄准桌面(因此至少需要版本3.1)),或者选择QOpenGLExtraFunctions
。 两者都有glDrawArraysInstanced
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.