问题标签 [vao]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1469 浏览

c++ - 未解决的 glGenVertexArrays 和 glBindVertexArray

我正在尝试使用顶点数组对象在 opengl 中渲染一个立方体。相同的代码适用于 linux 机器,但不适用于 Windows 机器。使用 glGenVertexArrays 和 glBindVertexArray 时出现未解决的外部错误。

glewInfo.exe 报告 glGenVertexArrays 和 glBindVertexArray 可用:

0 投票
0 回答
195 浏览

opengl - opengl - matrix transformation for multiple objects

I can't get myobject1, myobject2, and myobject3 to have their own rotation rendered. They rotate but all facing the same direction.

rotate() stops working after glDrawElements gets called.

It only starts working again if I call glutSwapBuffers() in render(). But then my screen flickers, but the models are rendered the way I want them.

In other words: before any render() is called, rotate() works fine... but using rotate() after any render() is called, rotate() does nothing... because for rotate() to work again, I need to call glutSwapBuffer() every time I draw an object, which makes rotate() work correctly for myobject1, myobject2, and myobject3, but then screen then flickers.

0 投票
1 回答
397 浏览

rendering - OpenGL ES 2.0 顶点数据错误

我正在尝试在 iOS 上渲染一些点精灵,但一些顶点数据似乎总是为 0。经过数小时的调试后,我将其缩小到这个非常简单的示例,尝试只渲染一个粒子。

顶点着色器:

片段着色器:

顶点数据上传:

绘画:

现在我已将所有顶点设置为零,这会将精灵呈现在屏幕中间,这很好,但是,如果我将顶点数据更改为

它应该再次绘制在屏幕中间(使用上面的顶点着色器),对吧?除了不是,而是向右渲染了 20 个单位。我假设 positionEnd (因此 -20 )从未在顶点着色器中正确设置,但我做错了什么?

0 投票
2 回答
1148 浏览

c++ - 绑定到没有 VAO 绑定的 GL_ELEMENT_ARRAY_BUFFER

0 投票
1 回答
1524 浏览

opengl - 移动、平移 vbo 中包含的对象

我无法理解如何实际翻译 vbo 中包含的单个对象。所以首先我设置 vao 和 vbo 并绑定并输入立方体的顶点......

然后在我的显示功能中......

现在我的问题是我想在一个 vao 中独立地移动对象。我应该怎么做?我应该只是翻译模型矩阵然后解除绑定 vao 并绑定另一个并再次翻译相同的模型矩阵吗?在谷歌搜索了一段时间后,我认为我应该使用 glPushMatrix 和 glTranslatef 但我要推送什么矩阵?

本质上,我的 vao 的矩阵在哪里需要翻译才能移动 vao 中的对象?

0 投票
2 回答
2162 浏览

opengl - OpenGL 4.0++ 核心配置文件中固定功能管道的属性位置是什么?

我想知道nVidia OpenGL 驱动程序的固定管道(未附加着色器)内的属性位置:

根据经验,我找到了顶点和原色位置,但仍然会很高兴了解它们。

如果您想知道原因,那么出于兼容性原因,甚至出于GLSL调试(只是为了查看当着色器尚未工作时我是否将正确的数据传递到正确的位置)等等......

0 投票
2 回答
512 浏览

scala - OpenGL 3.2 不绘制三角形

我正在创建一个以三角形形式显示 OpenGL 基元的应用程序,但由于某种原因,该应用程序实际上不会将图形绘制到上下文中。

问题是三角形不会从黑色改变它们的颜色。我可以将背景颜色设置为白色并查看三角形,但尽管我输入了什么,但我无法更改它们的颜色。

我的主要课程:

我的多边形类:

颜色类:

0 投票
2 回答
1541 浏览

c++ - OpenGL:VAO/VBO 混淆

OpenGL Wiki:顶点规范指出:

注意:GL_ARRAY_BUFFER绑定不是VAO 状态的一部分!我知道这很令人困惑,但事实就是如此。

下面是我如何使用 VAO,它似乎按预期工作。这里有什么问题?我对 OpenGL(或 OpenGL Wiki)、我的 OpenGL 驱动程序(OSX 10.9)或 OpenGL Wiki 的理解?

0 投票
2 回答
522 浏览

opengl - 在实践中使用 VertexArrayObjects 吗?

我目前正在学习 OpenGL,而 VAO 让我感到困惑。据我了解,VAO 只是封装了 VBO 的状态。

然后你可以像这样画

但我不确定这在实践中是否真的有用。假设我有一个非常大的场景要渲染。也许 10 平方公里,我显然不想一次将每个对象加载到 GPU,我可能想将场景分成不同的块。

现在我四处走动,有一次我必须将另一块对象加载到 GPU 上,对吗?但据我所知,我无法更改 VAO,而且每次我的场景发生变化时,我都必须创建一个新的 VAO。

那么在我的场景中什么是 VAO?整个场景会是 VAO 吗?还是每个对象都是 VAO?

对我来说,拥有多个 VAO 并没有多大意义,因为我无法将 VAO 组合在一起,我只能像这样将它们叠加在一起

0 投票
1 回答
759 浏览

java - JOGL 没有渲染任何东西

我正在尝试使用数组缓冲区渲染三个点,但我无法渲染任何东西。
这是我的代码:

我绝对确定着色器和 createShaderProgram 方法是正确的。当我使用 glVertexAttrib4fv 时,所有三个点都被渲染在同一个位置(如预期的那样),但是当我使用 glVertexAttribPointer 时,没有任何东西被渲染并且没有错误(glGetError 返回 0)。
我发现如果属性索引为 0,glVertexAttrib4fv 不会发送坐标,从而导致所有点都呈现在屏幕的中心。glVertexAttribPointer 不会发生这种情况,因此会发送坐标。