问题标签 [openglraw]
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.
opengl - 我应该在每次绘制时删除顶点缓冲区对象吗?
我有一些 Haskell / OpenGLRaw 代码可以执行以下操作:
关于这段代码,我有两个问题:
- 我从
draw
回调中调用它。这是否完全否定了将我的顶点数据存储在服务器中的用处? - 如果我应该把这段代码放在外面
draw
,我应该把gl_STREAM_DRAW
命令改成更静态的吗?
windows - Can't load OpenGL procs, but only from Haskell
I've had a problem after converting some C++ code to Haskell on Windows. The code in C++ works fine, but in Haskell any OpenGL function fails to load, i.e.
Whereas the function works fine in C++ (where I'm using glLoadGen). I've loaded both into depends.exe
and don't see any difference in what they use from OpenGL32.dll.
I'm using OpenGLRaw-1.3.0.0
.
opengl - 在 Ubuntu 上安装光泽(特别是 OpenGLRaw 依赖项)时出现“*缺少 C 库:GL”
尝试安装 Gloss 时出现以下错误:
通常我会尝试libgl-dev
根据通常的命名约定进行安装,但没有这样的库。
haskell - Haskell GL 原始绑定纹理问题
我在两个不同的对象上使用两个纹理,每个对象都有自己的着色器程序。但是,第二个对象在渲染时应用了两种纹理并带有一些奇怪的扭曲。
当第一个对象和纹理正确渲染时,我将重点关注第二个对象的代码。
第一个纹理是这样加载的:
第二个纹理是这样加载的:
我在绘制第一个对象之前绑定第一个纹理,如下所示:
调用glDrawArrays
第一个对象后,我使用glBindTexture_2D 0
.
第二个纹理以类似的方式绑定:
我glBindTexture_2D 0
在重新进入渲染循环之前在绘制之后调用。
结果如下所示:
如您所见,右侧的对象有一些伪影......第二个纹理在第一个纹理之上渲染(应该只在第一个对象上)。而且,第二个纹理全部扭曲了。
第二个对象的顶点和 uv 坐标可以在这里找到(要点)。
用于此对象的着色器在此处(要点)。
第二个对象的属性设置如下:
我试图包含最相关的代码。如果有人能发现我的错误,我将不胜感激。如果需要,我 100% 愿意发布更多代码。
更新:
评论中有人友好地指出,我的代码对第二个纹理使用了不正确的宽度和高度值。我现在正在使用此功能加载图像: