草庐IT

c++ - 用于桌面 Gui 应用程序的 Qt 4.x/5.x 和 OpenGL : What module to choose?

我正在为Linux/Windows桌面使用Qt和OpenGL开始一个新的GUI应用程序项目。到目前为止,我的假设是:使用QtGUI(C++...而不是QML/QtQuick2)和OpenGL4.1或更高版本(要求)。阅读之后,我完全不知道选择什么路径。什么途径可以使我的应用程序在支持和库方面永不过时。Qt4.x还是Qt5.x?标准OpenGL或QGL或QOpenGL或QtOpenGL包装器?QWidget/QGLWidget(Qt4.x)或QWindow(Qt5.x)?该应用程序旨在在桌面环境中运行,并将执行大量文件(几何)打开/保存、实例化3D绘画和​​一些成像。如果可能的话,有人可

c++ - 不同的 OpenGL 行为取决于所使用的 Maya 视口(viewport)

我有在Maya中显示简单OpenGL形状的cpp代码。如果使用旧视口(viewport),那么我就得到了我想要的:沿x轴的箭头:但是,如果我在ViewPort2.0中使用相同的代码,则箭头会跟随相机移动:只有当我应用glTranslatef(我需要使用它)时才会发生这种情况。这是一段代码:for(inti=0;i我怎样才能在"new"Maya视口(viewport)中有正确的行为? 最佳答案 根据我的评论,这看起来像翻译发生在与渲染不同的坐标系中,这向我暗示绑定(bind)了不同的矩阵堆栈。因此,在旧视口(viewport)中(您的

c++ - OpenGL Sprite 绘制质量低

我正在尝试使用openglglsl和glm库渲染Sprite。当我使用glBegin、glEnd在旧管道中渲染Sprite时,一切都很好,但是当我使用着色器时,在旋转Sprite后,它的绘制质量非常差,如图所示:http://sm.uploads.im/t/I3lpf.png我的渲染代码:GLuintp;GLuintvertex_shader,fragment_shader;GLuintVBO,VAO;glm::mat4projection_matrix=glm::ortho(0.0F,640.0F,480.0F,0.0F,-1.0F,1.0F);voidsprite_init(){p

c++ - OpenGL 渲染与自己的 Phong 照明实现

我已经使用以(0,0,0)为中心并直接注视球体基元的相机实现了Phong照明方案。以下是使用OpenGL查看场景以及使用自己实现渲染场景的场景文件的相关内容:ambient010dir_light111-3-4-5#Aredspherewith0.5greenambiance,centeredat(0,0,0)withradius1material00.501001000000001010sphere00001OpenGL生成的结果图像。我的渲染应用程序生成的图像。如您所见,两者之间存在各种差异:我的图像上的镜面高光比OpenGL中的小。漫反射表面似乎没有以正确的方式漫射,导致我的图像

c++ - OpenGL 中的 GUI 工具包

我想开发一个类似于PureData的应用程序(用C++),但有一个很酷的GUI和一个更好的文档......是的,类似于Max/MSP或Reaktor,但免费且开放!为了创建一个吸引人的、响应式的和可移植的界面,我正在考虑使用OpenGL。在我看来有类似BlenderGUI的东西.在开始开发我的自定义GUI工具包之前,我四处搜索以了解是否存在我可以使用的东西,我发现:Juce:它似乎很受支持,但我不明白你是否只能在你的界面中嵌入OpenGLCanvas,或者是否可以使用OpenGL呈现所有小部件。nUI:它看起来真的很酷而且便携,但是......它的论坛是一片沙漠,而且真的很难找到教程!

c++ - 将 C++ OpenGL 游戏移植到 iPad

我们有一款游戏,是用C++和OpenGL为Windows和Mac开发的。现在我们要将游戏移植到iPad。有没有比用Objective-C编写整个程序更好的方法来让我们的游戏在iPad上运行?现在我是iPhone/iPad菜鸟,如果问题很愚蠢,请原谅。 最佳答案 您可能只需要在Obj-C中编写直接处理iOS的一小部分(创建gl表面、输入等)。休息应该没问题。您只需确保您将仅使用OpenGLES中的OpenGL子集。 关于c++-将C++OpenGL游戏移植到iPad,我们在StackOve

c++ - OpenGL GL_POLYGON_SMOOTH 二维抗锯齿从四边形创建三边形

更新:我在安装NVIDIAControlPanel时找到了它,如果我卸载它它会正常工作。当您在OpenGL中旋转四边形时,边缘会变得参差不齐。如果我调用glEnable(GL_POLYGON_SMOOTH),边缘会变得平滑,但OpenGL然后会在我的所有图像中绘制一条白色对角线,就好像它正在创建我的四边形的三元组一样。它是这样的:有没有办法禁用那条线,或者我可以用另一种简单的方法获得抗锯齿功能吗?我尝试了GL_MULTISAMPLE,但没有任何反应。在我的代码中还有:glShadeModel(GL_SMOOTH);glMatrixMode(GL_PROJECTION);glLoadId

c++ - OpenGL:创建复杂且平滑的多边形

在我的OpenGL项目中,我想动态创建平滑的多边形,类似于这个:问题主要出在平滑过程中。到目前为止,我的程序是首先创建一个具有随机放置顶点的​​VBO。然后,在我的片段着色器中(我正在使用可编程函数管道)应该进行平滑处理,或者换句话说,从顶点之间先前定义的“线”创建曲线。问题就在这里:我不太熟悉那些复杂的数学算法,这些算法会检查一个点是否在“平滑多边形”内。 最佳答案 首先,您无法在片段着色器中真正做到这一点。片段着色器仅限于在“像素”(基本上但不完全是实际像素)写入屏幕之前设置其最终(大概)颜色。它无法在曲线上创建新点。Thisp

c++ - OpenGL - VAO、VBO、IBO、glDrawElements 不显示

我无法让关卡数据显示在屏幕上。我的着色器正在使用正确渲染立方体但不是关卡。这是我的VBO、VAO和IBO的设置:voidZoneMesh::buildData(){//CreatetheVBOforthismeshglGenBuffers(1,&vbo);glBindBuffer(GL_ARRAY_BUFFER,vbo);glBufferData(GL_ARRAY_BUFFER,sizeof(vertices),vertices,GL_STATIC_DRAW);//CreatetheIBOglGenBuffers(1,&ibo);glBindBuffer(GL_ELEMENT_ARRA

c++ - 如何在没有 Z-fighting 的情况下在 OpenGL 中绘制一条线

我遇到了以下问题。虽然glPolygonOffset非常适合网格,例如当我尝试在对象顶部绘制线框轮廓时,它不适用于简单的线条。以下是它如何处理网格://drawobjectmTexture.enableAndBind();gl::color(Colorf(1,1,1));gl::draw(mVboMesh);mTexture.unbind();//overlaywireframegl::enableWireframe();glLineWidth(1);glEnable(GL_POLYGON_OFFSET_LINE);glPolygonOffset(-1,-1);glColor3f(0,