opengl-2.0

    0热度

    2回答

    我读过,优化OpenGL 2(尤其是ES)中非透明对象渲染顺序的最佳方法是优先避免上下文排序中的上下文更改(绑定不同的缓冲区,着色器程序等)。 如果您使用已绑定的缓冲区调用glBindBuffer,或使用已经是当前程序等的着色器程序执行glUseProgram等操作,它们是否仍会导致低效的管线刷新,或者库是否足够灵巧以识别他们作为NOOPs?如果我可以在需要时绑定所有内容而无需跟踪已绑定的内容并检

    0热度

    1回答

    我正在研究一个非常简单的像素游戏体素,但由于某些原因,OpenGL并未正确测试深度。 下面是相关代码: //Render function: void display() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glTranslatef(2.5, 2.5, -5

    0热度

    1回答

    我一直在试图在独立的Java应用程序中使用JOGL。我在Android上完成了OpenGLES的工作,并将我的代码从Android OpenGL移植到此Java应用程序。已经有一些语法改变,但是方法和构建步骤是相似的并且是适当的。 我可以在画布上绘制顶点浮点数组,并将颜色数据传递给着色器。现在我正在研究纹理。这是我的问题所在。我能够纹理化,甚至通过Java将其他颜色应用于着色器,但现在我希望能够在

    0热度

    1回答

    我知道StackOverflow中充满了类似的问题(Like this one或that one),但所给出的解决方案似乎对我无效。 我的目标是使用gluProject从3D空间中获取某点的屏幕坐标。在此之前,我期望通过执行以下操作获取矩阵: GLint view[4]={0}; GLdouble proj[16]={0}; GLdouble model[16]={0}; glGetDou

    0热度

    1回答

    首先:是的,我知道这是一个非常过时的编程界面。但是一些目标机器甚至不保证OpenGL 2.1,这就是为什么它仍然需要使用。 我的问题:使用OpenGL绘制某些几何图形时,未绘制包含2点的点和折线。是否有至少有三个坐标点的多段线,它可以平稳运行。所以这是行不通的: glBegin(GL_POINT); glVertex3f(...); glEnd(); glBegin(GL_LINE_STR

    1热度

    2回答

    有很多OpenGL教程 - 我认为其中90%以上的人使用glBegin()/ glEnd(),并在这两个调用之间设置顶点。现在我发现有些人告诉我这些函数已被弃用,并且不再可用于新版本的OpenGL。 所以:这是正确的吗? 在我的应用程序中,我必须与OpenGL 2.1兼容。

    0热度

    1回答

    我无法找到glTextureVertexPointer定义的位置,在我的C++或java opengl游戏中没有这样的函数,并且我已经包含并测试了来自opengl的所有东西。 我试图把它这样 glTextureVertexPointer(2, GL_FLOAT, texVerts); 我真的需要这个功能,以从我的纹理spritesheet吸取一定的精灵。 我无法在谷歌, 这个功能,如果可能的话

    0热度

    1回答

    在OpenGL管道之前:我想为我渲染的某些对象使用特殊的顶点着色器。所以我想这个: int currProgram = glGetInteger(GL_CURRENT_PROGRAM); int currVertexShader = 0; if (currProgram == 0) { glUseProgram(programName); } else { currVer

    3热度

    1回答

    所以我试图用LibGDX实现“Polygon Art/Low Poly”风格。我首先构建一个由三角形组成的模型。 然后与顶点着色器,我计算用于基于高度每个顶点的颜色。 问题是,地势体着色时,我希望它是平面着色这样的: 我知道,与更高版本的OpenGL有一个“平” glsl中的关键字将禁用顶点之间的颜色插值。从我在线阅读和在这篇文章中看到:http://i.stack.imgur.com/DrNx9

    1热度

    1回答

    我正致力于使我七年前写的一个程序复活。它全部用Qt编写,并使用一些OpenGL在应用程序显示的图像上绘制一些框线。问题是'gluOrtho2D'被使用,但不再被发现。我想知道如何解决这个问题。下面是代码: void MSContext::ResizePaint(int width, int height) { // setup viewport, projection etc.: