问题标签 [opengl-es-2.0]

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 投票
2 回答
4649 浏览

android - 从 Wavefront OBJ 格式加载“索引”

我正在使用 OpenGL ES 2.0 开发一个 Android 应用程序。

我想以 Wavefront OBJ 格式加载使用 Blender 2.49b 制作的导出文件。我已经确定了顶点位置、法线和纹理。

我想使用 glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) 来绘制我的网格,但我不知道如何从 Wavefront OBJ 文件中获取最后一个参数索引。

面孔是我正在寻找的“指数”吗?

我在一个论坛上发现了这个:faces = 从 1 开始的索引!

“从 1 开始!”是什么意思?

谢谢。

0 投票
1 回答
1158 浏览

opengl-es - 顶点、法线和纹理坐标索引

我有一个关于 glDrawElements 和顶点、法线和 texcoordinate 索引的问题。

如果我有几何顶点、顶点法线和纹理顶点,每个顶点都有自己的索引。

我可以使用哪些指数?

如果我有这个代码:

茶壶应该持有什么指标?

谢谢。

0 投票
1 回答
787 浏览

opengl-es - 从片段着色器中删除纹理坐标

我有一个顶点和片段着色器,我想显示纯色而不是纹理。

我有以下顶点和片段着色器。

我如何必须修改片段着色器以不显示纹理?(对不起我的英语不好)。

谢谢。

0 投票
3 回答
14255 浏览

iphone - 用于模糊的 OpenGL ES 2.0 片段着色器速度慢且质量低

我正在尝试为 iPad 编写模糊着色器。我有它的工作,但我对结果不是很满意。我得到非常不稳定的帧速率,并且当模糊量很高时,模糊看起来像废话。

关于如何改进的任何想法?

一些示例输出:

替代文字

编辑:框模糊可能是要走的路。这是着色器的框模糊版本:

这是框模糊输出(请注意,它只是水平模糊,但对于我想要的可能就足够了): 替代文字

0 投票
2 回答
2559 浏览

iphone - ES 2.0 Multi-Pass & Render to Texture 实现

我需要帮助在 iPhone 上使用 OpenGL ES 2.0 设置多通道渲染。我还没有找到一个实现纹理渲染和多通道着色的示例。

我正在寻找一些实现的说明和示例代码:

  • 第一阶段:渲染到纹理
  • 第二阶段:输入纹理并渲染到屏幕

我参考了 Apple 的OpenGL ES Programming Guide、OpenGL Shading Language (Orange Book) 和 O'Reilly 的 iPhone 3D Programming Book。

橙皮书讨论了延迟着色,并为第一遍和第二遍渲染提供了两个着色器程序,但没有提供示例代码来设置该应用程序或展示如何在两个着色器之间传递数据。

问题:

  • 如何渲染到纹理?
    • 使用 glDrawElements
    • 如何将该纹理输入到下一个通道?
  • 如何实现两个着色程序?
  • 如何交替使用第一遍和第二遍着色程序?
    • 需要为每个通道附加、分离和调用“使用”?
  • 如何实现多通道着色?
0 投票
2 回答
2666 浏览

file-format - 使用 OpenGL 混合器导出格式最容易加载

我正在使用 C++ 开发 OpenGL ES 2.0 应用程序。

我想使用 OpenGL 展示我的搅拌机模型,但我不知道使用 OpenGL ES 2.0 加载哪种格式最简单。

我一直在尝试使用 Wavefront obj 格式如何解压缩顶点以及如何获取 glDrawElements 的最后一个参数的顶点。

你知道最简单的格式吗?

谢谢。

0 投票
1 回答
1131 浏览

c++ - 复制指向静态数组的指针

我正在开发一个带有一些本机代码的 Android 应用程序(用于使用 OpenGL ES 2.0 进行渲染)。

我有以下方法签名:

要访问jfloatArray vertices, jfloatArray normals, jfloatArray texCoord, jintArray indices元素,我执行以下操作:

而且,在 glDrawElements(...) 之后,最后,我执行以下操作:

我没有绘制我想要的模型,可能是因为我正在释放指针,而 glDrawElements 仍在使用它们。我不确定,但我想在进行任何其他测试之前检查它。

我的问题是如何从指针创建一个静态数组?

我可以这样做得到指针的元素:

但我不知道如何继续。

有什么建议吗?

我正在网上搜索以找到方法,如果我找到了一些东西,我会告诉你。

谢谢。

0 投票
1 回答
1969 浏览

iphone - 如何在 OpenGL ES 2.0 中绘制带有深度缓冲区的立方体?

我一直在尝试使用 OpenGL ES 2.0 和深度缓冲区来绘制一个立方体,但没有成功。

是否有任何可用的示例可供我比较以查看我哪里出错了?

0 投票
3 回答
568 浏览

iphone - 为什么需要深度缓冲区?

我不明白为什么我需要使用深度缓冲区,因为在这个项目中,立方体绘制时没有深度缓冲区。

对不起,我的英语不好。我是俄罗斯人,1.5 年前开始学习英语。

0 投票
2 回答
1989 浏览

matrix - OpenGL ES 2.0 矩阵

这是我的顶点着色器代码:

我在这段代码中更新了制服:

glUniformMatrix4fv(uniforms[UNIFORM_MODELVIEWMATRIX], 1, 0, [scaleMatrix getMatrix]);

但是当我执行此字符串时,最后更新结果(比例)重置:

glUniformMatrix4fv(uniforms[UNIFORM_MODELVIEWMATRIX], 1, 0, [rotationMatrix getMatrix]);

如何使用多个矩阵?