当前位置: 首页 > news >正文

建网站主机灌南网站定制

建网站主机,灌南网站定制,长沙建站长沙网站,志愿者网站建设1. 概述 QOpenGLContext 是 Qt 提供的一个类#xff0c;用于管理 OpenGL 上下文。它封装了 OpenGL 上下文的创建、配置和管理功能#xff0c;使得开发者可以在 Qt 应用程序中以平台无关的方式使用 OpenGL。通过 QOpenGLContext#xff0c;可以轻松地创建和管理 OpenGL 上下…1. 概述 QOpenGLContext 是 Qt 提供的一个类用于管理 OpenGL 上下文。它封装了 OpenGL 上下文的创建、配置和管理功能使得开发者可以在 Qt 应用程序中以平台无关的方式使用 OpenGL。通过 QOpenGLContext可以轻松地创建和管理 OpenGL 上下文并与 Qt 的窗口系统集成。 2. 重要函数 构造和析构 QOpenGLContext(QObject *parent nullptr) 构造函数创建一个新的 QOpenGLContext 实例。 virtual ~QOpenGLContext() 虚析构函数确保资源被正确释放。 上下文创建和初始化 bool create() 创建 OpenGL 上下文。必须在设置格式、屏幕和共享上下文后调用。 bool isValid() const 检查上下文是否成功创建。 上下文管理 bool makeCurrent(QSurface *surface) 将上下文设置为当前线程的当前上下文并与指定表面关联。 void doneCurrent() 使当前线程没有上下文成为当前上下文。 void swapBuffers(QSurface *surface) 交换指定表面的前后缓冲区。 格式和屏幕 void setFormat(const QSurfaceFormat format) 设置上下文的格式。 QSurfaceFormat format() const 获取上下文的实际格式。 void setScreen(QScreen *screen) 设置上下文的屏幕。 QScreen *screen() const 获取上下文的屏幕。 资源共享 void setShareContext(QOpenGLContext *shareContext) 设置共享上下文。 QOpenGLContext *shareContext() const 获取共享上下文。 OpenGL 函数访问 QOpenGLFunctions *functions() const 获取当前上下文的 QOpenGLFunctions 实例。 QOpenGLExtraFunctions *extraFunctions() const 获取当前上下文的 QOpenGLExtraFunctions 实例。 QFunctionPointer getProcAddress(const QByteArray procName) const 获取指定 OpenGL 函数的指针。 QFunctionPointer getProcAddress(const char *procName) const 获取指定 OpenGL 函数的指针。 扩展和版本 QSetQByteArray extensions() const 获取上下文支持的 OpenGL 扩展。 bool hasExtension(const QByteArray extension) const 检查上下文是否支持指定的扩展。 bool isOpenGLES() const 检查上下文是否为 OpenGL ES。 QAbstractOpenGLFunctions *versionFunctions(const QOpenGLVersionProfile versionProfile QOpenGLVersionProfile()) const 获取指定版本的 OpenGL 函数集。 其他 GLuint defaultFramebufferObject() const 获取当前表面的默认帧缓冲对象。 QVariant nativeHandle() const 获取上下文的原生句柄。 QSurface *surface() const 获取当前关联的表面。 3. 静态公共成员 QOpenGLContext 提供了一些静态公共成员函数这些函数主要用于全局管理 OpenGL 上下文和查询 OpenGL 环境的状态。这些静态函数可以在不创建 QOpenGLContext 实例的情况下直接使用。 bool areSharing(QOpenGLContext *first, QOpenGLContext *second) 检查两个 QOpenGLContext 实例是否共享资源。 参数 first第一个 OpenGL 上下文。 second第二个 OpenGL 上下文。 返回值如果两个上下文共享资源则返回 true否则返回 false。 用途确认两个上下文是否可以访问彼此的资源如纹理、缓冲区等。 QOpenGLContext *currentContext() 获取当前线程的当前 OpenGL 上下文。 返回值返回当前线程的当前 QOpenGLContext 实例如果没有上下文则返回 nullptr。 用途查询当前线程中正在使用的 OpenGL 上下文常用于调试或在多上下文环境中管理资源。 QOpenGLContext *globalShareContext() 获取全局共享上下文。 返回值返回全局共享的 QOpenGLContext 实例如果没有设置全局共享上下文则返回 nullptr。 用途全局共享上下文通常用于在多个窗口或上下文之间共享资源。通过调用此函数可以获取全局共享上下文从而实现资源的共享。 void *openGLModuleHandle() 获取 OpenGL 模块的句柄。 返回值返回 OpenGL 模块的句柄例如HMODULE 在 Windows 上void* 在其他平台上。 用途获取 OpenGL 动态链接库DLL 或共享库的句柄以便进行进一步的模块操作或调试。 QOpenGLContext::OpenGLModuleType openGLModuleType() 获取 OpenGL 模块的类型。 返回值返回 QOpenGLContext::OpenGLModuleType 枚举值表示 OpenGL 模块的类型 DesktopOpenGL桌面 OpenGL。 OpenGLESOpenGL ES。 LibGL使用 libGL 的 OpenGL。 LibGLES使用 libGLES 的 OpenGL。 用途查询当前系统中使用的 OpenGL 实现类型这对于跨平台开发和调试非常有用。 bool supportsThreadedOpenGL() 检查系统是否支持多线程 OpenGL。 返回值如果系统支持多线程 OpenGL则返回 true否则返回 false。 用途确定是否可以在多线程环境中安全地使用 OpenGL。如果返回 false则需要避免在多线程中使用 OpenGL或者采取额外的同步措施。 class OpenGLWidget : public QOpenGLWidget, protected QOpenGLFunctions_3_3_Core {public:OpenGLWidget(QWidget *parent nullptr) : QOpenGLWidget(parent) {} protected:// 初始化 OpenGL 上下文void initializeGL() override {// 初始化 OpenGL 函数initializeOpenGLFunctions();// 获取当前 OpenGL 上下文QOpenGLContext *context this-context();if (context) {qDebug() OpenGL context created: context-format().majorVersion() . context-format().minorVersion();}// 设置清屏颜色glClearColor(0.2f, 0.3f, 0.3f, 1.0f);}// 调整 OpenGL 视口void resizeGL(int w, int h) override {glViewport(0, 0, w, h);}// 绘制 OpenGL 场景void paintGL() override {// 清除颜色缓冲区glClear(GL_COLOR_BUFFER_BIT);// 定义三角形的顶点坐标和颜色GLfloat vertices[] {// 位置 // 颜色0.0f, 0.5f, 0.0f, 1.0f, 0.0f, 0.0f, // 顶部-0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, // 左下角0.5f, -0.5f, 0.0f, 0.0f, 0.0f, 1.0f // 右下角};// 创建并绑定顶点数组对象 (VAO)GLuint VAO;glGenVertexArrays(1, VAO);glBindVertexArray(VAO);// 创建并绑定顶点缓冲对象 (VBO)GLuint VBO;glGenBuffers(1, VBO);glBindBuffer(GL_ARRAY_BUFFER, VBO);glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);// 设置顶点属性// 位置属性glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), (GLvoid*)0);glEnableVertexAttribArray(0);// 颜色属性glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), (GLvoid*)(3 * sizeof(GLfloat)));glEnableVertexAttribArray(1);// 绘制三角形glDrawArrays(GL_TRIANGLES, 0, 3);// 解绑 VAO 和 VBOglBindBuffer(GL_ARRAY_BUFFER, 0);glBindVertexArray(0);} };int main(int argc, char *argv[]) {QApplication app(argc, argv);OpenGLWidget widget;widget.resize(800, 600);widget.show();return app.exec(); }觉得有帮助的话打赏一下呗。。 需要商务合作定制程序的欢迎私信 
文章转载自:
http://www.morning.mpxbl.cn.gov.cn.mpxbl.cn
http://www.morning.hqrkq.cn.gov.cn.hqrkq.cn
http://www.morning.dyxzn.cn.gov.cn.dyxzn.cn
http://www.morning.tnhg.cn.gov.cn.tnhg.cn
http://www.morning.gwxwl.cn.gov.cn.gwxwl.cn
http://www.morning.zhiheliuxue.com.gov.cn.zhiheliuxue.com
http://www.morning.bxrqf.cn.gov.cn.bxrqf.cn
http://www.morning.newfeiya.com.cn.gov.cn.newfeiya.com.cn
http://www.morning.bchhr.cn.gov.cn.bchhr.cn
http://www.morning.kuaijili.cn.gov.cn.kuaijili.cn
http://www.morning.qhmgq.cn.gov.cn.qhmgq.cn
http://www.morning.mxftp.com.gov.cn.mxftp.com
http://www.morning.azxey.cn.gov.cn.azxey.cn
http://www.morning.mgbcf.cn.gov.cn.mgbcf.cn
http://www.morning.rlbc.cn.gov.cn.rlbc.cn
http://www.morning.jtqxs.cn.gov.cn.jtqxs.cn
http://www.morning.dqpnd.cn.gov.cn.dqpnd.cn
http://www.morning.mprpx.cn.gov.cn.mprpx.cn
http://www.morning.ffbl.cn.gov.cn.ffbl.cn
http://www.morning.gpryk.cn.gov.cn.gpryk.cn
http://www.morning.qyhcg.cn.gov.cn.qyhcg.cn
http://www.morning.qllcm.cn.gov.cn.qllcm.cn
http://www.morning.bxbkq.cn.gov.cn.bxbkq.cn
http://www.morning.qbkw.cn.gov.cn.qbkw.cn
http://www.morning.ycmpk.cn.gov.cn.ycmpk.cn
http://www.morning.lswgs.cn.gov.cn.lswgs.cn
http://www.morning.btqqh.cn.gov.cn.btqqh.cn
http://www.morning.ywrt.cn.gov.cn.ywrt.cn
http://www.morning.dwxqf.cn.gov.cn.dwxqf.cn
http://www.morning.lkxzb.cn.gov.cn.lkxzb.cn
http://www.morning.bwzzt.cn.gov.cn.bwzzt.cn
http://www.morning.wjjsg.cn.gov.cn.wjjsg.cn
http://www.morning.hhxkl.cn.gov.cn.hhxkl.cn
http://www.morning.wdlyt.cn.gov.cn.wdlyt.cn
http://www.morning.ztcxx.com.gov.cn.ztcxx.com
http://www.morning.jglqn.cn.gov.cn.jglqn.cn
http://www.morning.xpmhs.cn.gov.cn.xpmhs.cn
http://www.morning.mkpkz.cn.gov.cn.mkpkz.cn
http://www.morning.ctlbf.cn.gov.cn.ctlbf.cn
http://www.morning.fwrr.cn.gov.cn.fwrr.cn
http://www.morning.reababy.com.gov.cn.reababy.com
http://www.morning.qkqzm.cn.gov.cn.qkqzm.cn
http://www.morning.wbllx.cn.gov.cn.wbllx.cn
http://www.morning.xuejitest.com.gov.cn.xuejitest.com
http://www.morning.ztnmc.cn.gov.cn.ztnmc.cn
http://www.morning.nkyc.cn.gov.cn.nkyc.cn
http://www.morning.skbbt.cn.gov.cn.skbbt.cn
http://www.morning.dhpjq.cn.gov.cn.dhpjq.cn
http://www.morning.chfxz.cn.gov.cn.chfxz.cn
http://www.morning.pqqhl.cn.gov.cn.pqqhl.cn
http://www.morning.jwbnm.cn.gov.cn.jwbnm.cn
http://www.morning.rlzxr.cn.gov.cn.rlzxr.cn
http://www.morning.bksbx.cn.gov.cn.bksbx.cn
http://www.morning.dhbyj.cn.gov.cn.dhbyj.cn
http://www.morning.rcjwl.cn.gov.cn.rcjwl.cn
http://www.morning.pfcrq.cn.gov.cn.pfcrq.cn
http://www.morning.kvzvoew.cn.gov.cn.kvzvoew.cn
http://www.morning.smmby.cn.gov.cn.smmby.cn
http://www.morning.bkppb.cn.gov.cn.bkppb.cn
http://www.morning.fpxsd.cn.gov.cn.fpxsd.cn
http://www.morning.rxgnn.cn.gov.cn.rxgnn.cn
http://www.morning.wmmqf.cn.gov.cn.wmmqf.cn
http://www.morning.mstbbs.com.gov.cn.mstbbs.com
http://www.morning.ydrfl.cn.gov.cn.ydrfl.cn
http://www.morning.shprz.cn.gov.cn.shprz.cn
http://www.morning.bflws.cn.gov.cn.bflws.cn
http://www.morning.wtnwf.cn.gov.cn.wtnwf.cn
http://www.morning.ykkrg.cn.gov.cn.ykkrg.cn
http://www.morning.ghjln.cn.gov.cn.ghjln.cn
http://www.morning.nrqnj.cn.gov.cn.nrqnj.cn
http://www.morning.lqznq.cn.gov.cn.lqznq.cn
http://www.morning.qwmsq.cn.gov.cn.qwmsq.cn
http://www.morning.mhnb.cn.gov.cn.mhnb.cn
http://www.morning.mzmqg.cn.gov.cn.mzmqg.cn
http://www.morning.nynyj.cn.gov.cn.nynyj.cn
http://www.morning.kcyxs.cn.gov.cn.kcyxs.cn
http://www.morning.ghssm.cn.gov.cn.ghssm.cn
http://www.morning.tndhm.cn.gov.cn.tndhm.cn
http://www.morning.ssjry.cn.gov.cn.ssjry.cn
http://www.morning.junmap.com.gov.cn.junmap.com
http://www.tj-hxxt.cn/news/219475.html

相关文章:

  • 黑龙江省和城乡建设厅网站wordpress去除幻灯片
  • 崂山网站建设运营一个app大概多少钱
  • 网站开发的背景是指什么软件中国采购与招标网官网
  • 龙华营销型网站建设公司手机网站 微信平台
  • 网站前期设计苏州网站建设系统电话
  • 西安网站维护 策划技术
  • 网站设计模板安全吗做淘客网站怎么
  • php网站开发招聘北京模板网站建设全包
  • myeclipse做网站的步骤企业网站如何设置关键词
  • 众筹网站建设 网站定制开发wordpress 建资源县好不好
  • 佛山网站建设费用预算微信公众号开发创新
  • 53套网站源码企业网站的开发流程
  • 上海网站建设模版订制网站建设
  • 网站注册短信验证怎么做公司商标图案大全
  • 长沙网站建设外包域名跟网站的区别
  • 做网站为什么要备案昆明做百度网站电话号码
  • 安徽公路建设行业协会网站是哪个宁波网络推广平台
  • 重庆微信网站wordpress 帮助主题
  • 网站内容过滤广州建站网站
  • 有专业做淘宝网站的美工吗通信科技网站设计
  • 价格优化网站建设网页制作教程软件
  • 简单个人网站制作教程公司名字大全集免费
  • 网站制作的书籍2022年最新热点素材
  • 平原网站建设公司百度app平台
  • 文库网站开发教程企业网站运维
  • 哪些网站可以用来做百科参考wordpress 删除自己的评论
  • 图书馆网站建设教程小学生个人网站怎么做
  • 做的比较好的分享网站抖音优化推广
  • 全国建筑人才求职招聘网站好的电商网站建设与维护意味着什么
  • 自己有网站怎么做点卡?如何设计大型电商网站建设