opengl-es相关内容
我正在使用外部库制作一个 xcode 命令工具应用程序,但出现了一些错误. 我试图解决的问题: 使用不同的编译器构建 删除 GLES 文件夹并重新添加 在 32 和 64 上构建它 我是否遗漏了有关 opengles.cpp 的内容? 如果您知道下一步可以做什么,请说出来,您可以在下面找到有关项目和错误的所有信息.如果您需要更多信息,我很乐意为您提供帮助.另外,如果您知
..
我需要 3GS 上的模板缓冲区来渲染平面阴影和多边形offset 无法完美运行,仍然存在 z-fighting 问题.所以我用模板缓冲区使阴影正确,它适用于win32 Gles2模拟器,但不是在 iPhone 上.在我给整体添加了后期效果之后场景.即使在 win32 gles2 模拟器上,模板缓冲区也无法工作. 我尝试将模板缓冲区附加到 FBO,但屏幕变为黑色的.这是我的代码, glGen
..
假设我们有一个纹理(在本例中为 8x8 像素),我们想将其用作精灵表.其中一个子图像(精灵)是纹理内部 4x3 的子区域,如下图所示: (显示四个角的归一化纹理坐标) 现在,基本上有两种方法可以将纹理坐标分配给 4px x 3px 大小的四边形,以便它有效地成为我们正在寻找的精灵;第一个也是最直接的方法是在子区域的角落对纹理进行采样: //纹理坐标GLfloat sMin = (
..
应用程序在 presentFrameBuffer 中崩溃(在前台运行时,不会发生中断). 它没有在第一帧崩溃,它画了一段时间然后突然崩溃. 我没有重现的确切步骤,但似乎与绘制特定内容有关,但我仍然没有通过应用程序报告 openGL 错误,包括在 presentFrameBuffer 之前的一次错误检查.如果我在 presentFrameBuffer 之前添加 glFinish 会在 g
..
我正在使用 opengl/egl 为 Android 开发.我的应用需要第二个上下文来从第二个线程加载纹理. 我的代码在 android 2.3 上运行良好,但是当我在 4.0.3 android 设备或模拟器上尝试该代码时,eglMakeCurrent() 失败并显示 EGL_BAD_MATCH. 第二个上下文的初始化和它的像素缓冲区也都工作正常,所以我不确定从哪里开始寻找这个错误.
..
我找到了一个名为 Rajawali 我正在学习如何使用它.我遵循了最基本的教程,它使用 1024x512 大小的 jpg 图像为纹理渲染一个 shpere 对象.它在 Galaxy Nexus 上运行良好,但在 Galaxy Player GB70 上却无法运行. 当我说它不起作用时,我的意思是对象出现但纹理没有渲染.最终,我更改了一些在创建纹理时用于 Rajawali 框架的参数并使其工作
..
我的 OpenGL 应用程序使用 OpenGL 全屏渲染纹理并定期更新其中的一部分.到目前为止,我一直在使用 glTexImage2D 推送我的初始纹理,然后使用 glTexSubImage2D 更新脏区域.为此,我使用单缓冲.这很好用. 我已经看到可能有另一种方法可以使用 CVOpenGLESTextureCache 实现相同的目标.保存在纹理缓存中的纹理引用一个 CVPixelBuffe
..
我的情况是我从服务器接收到不同的图像到 iPhone 客户端. 我需要做的是为这些图像添加鱼眼效果. 我的幻觉是我可以构建一个圆顶对象,然后在图像出现时将它们附加到它. 如果有人能给我任何正确方向的指点,我将不胜感激. 解决方案 你有没有试过看 Paul Bourke 的例子OpenGL的代码?我不知道它是否与 OpenGL-ES 兼容.请注意有关使用“glCopyTex
..
出于教育目的,我需要比较 WebGL 与 OpenGL 的性能.我有两个用 WebGL 和 OpenGL 编写的等效程序,现在我需要获取它们的帧速率并比较它们. 在 Javascript 中,我使用 requestAnimationFrame 来制作动画,我注意到它会导致帧速率始终保持在 60 FPS,并且只有在我切换选项卡或窗口时才会下降.另一方面,如果我总是递归调用渲染函数,窗口会因为明
..
我意识到这是两个不同的东西: 绘图,并将其显示在屏幕上. 因此,虽然您可以以 60 FPS 的速率从 CADisplayLink 进行每次调用,但如果您的绘图操作花费的时间略长于 1/60 秒,那么理论上您最终会得到 30 FPS,因为您错过了其他所有操作有机会通过渲染管道. 好的;知道了这一点,记住开始 NSTimeInterval 并在运行循环中增加一个帧计数器,然后在结束时
..
实际上,我有一个适用于 Android 1.5 的应用程序,它带有一个 GLSurfaceView 类,可以在屏幕上显示一个简单的方形多边形. 我想学习如何添加新功能,即用手指触摸方块移动方块的功能.我的意思是当用户触摸方块并移动手指时,方块应该粘在手指上,直到手指松开屏幕. 我们将不胜感激任何教程/代码示例/帮助. 我的代码: public class MySurfaceVi
..
可能重复: 我如何确定什么是从屏幕触摸到 3D 空间? 我正在开发一个 Android 应用程序.我也在使用 OpenGL 图形. 我在屏幕上绘制了一个正方形,我想让用户在触摸它时移动它.换句话说,当用户将手指放在方块上时,他应该能够移动方块.如果他触及广场外,什么都不会发生. 如何检测用户何时触摸正方形? 谢谢. 解决方案 其他答案提供的挑选教程在这里不适用;其
..
我正在尝试将我的程序从 GLfloat 转换为 GLshort 以获得顶点位置,但我不确定如何在着色器中表示它.我在着色器中使用了 vec3 数据类型,但 vec3 代表 3 个浮点数.现在我需要代表 3 条短裤.据我所知,OpenGL 没有用于短裤的向量,那么在这种情况下我应该怎么做? 解决方案 我不确定如何在着色器中表示它. 这是因为这些信息并不存在于着色器中. glV
..
我们有一个使用 OpenGL 和 MKMapView 的应用程序.当我们切换到 iOS 6 时,每当我们在设置自己的 EAGLContext 后尝试显示地图时,它就会在 [EAGLContext setCurrentContext:] 处开始崩溃,并带有 EXC_BAD_ACCESS. 解决方案 iOS 6 地图是基于 OpenGL 的.如果你不打电话,你的应用会崩溃 [EAGLCo
..
如何在我的 OpenGL ES 1.1 android 应用程序中使用 gl.gluUnproject 来确定用户触摸屏幕时选择了什么? 我的理解是触摸事件产生一条线,我必须找到它相交的第一个“东西". 有没有关于如何做到这一点的教程? 解决方案 我的一个想法是缓存调用 gluProject 的结果.这可能仅在您处理固定相机时才实用.在相机视角发生任何变化后,我可以重新生成这个
..
如何在平面上滚动纹理?所以我有一个带有纹理的平面,我可以使用着色器从右向左滚动(无限)它上面的纹理吗? 解决方案 使用设置纹理环绕模式 glTexParameteri(TextureID, L_TEXTURE_WRAP_S, GL_REPEAT) 将名为 Time 的浮动统一添加到纹理着色器中 在获取纹理样本时使用类似 texture2D(sampler, u + T
..
据我所知,我们无法在 OpenGL ES 2.0 中读取 Z(深度)值.所以我想知道我们如何从 2D 屏幕上的一个点获取 3D 世界坐标? 其实我有一些随机的想法可能会奏效.由于我们可以使用 glReadPixels 读取 RGBA 值,我们如何复制深度缓冲区并将其存储在颜色缓冲区中(比如 ColorforDepth).当然需要有一些好的约定,这样我们就不会丢失深度缓冲区的任何信息.然后当我
..
我在 OpenGL ES 2.0 中找不到来自 OpenGL 的 glTexImage3D() 函数.那么如何使用 3-D 纹理,例如:.tga 文件? 有人知道如何在 OpenGL ES 2.0 中使用 3-D 纹理吗? 解决方案 OpenGL ES 1.x 和 2.x 不要求支持 3d 纹理 - 参见例如glBindTexture,它只列出了 GL_TEXTURE_2D 和 GL
..
对于后处理着色器,我需要帧缓冲区的颜色和深度缓冲区.访问颜色缓冲区工作正常,但我在创建深度缓冲区时遇到问题.尝试将 texImage2D 用于深度纹理时,我总是收到 INVALID_ENUM 错误: texImage2D 中的 WebGL 错误 INVALID_ENUM(TEXTURE_2D, 0, DEPTH_COMPONENT16, 1536, 502, 0, DEPTH_COMPONENT
..
在使用英特尔显卡的笔记本电脑上开发时,在编译顶点着色器时,我得到了这个: 0:1(10):错误:不支持 GLSL 3.30.支持的版本有:1.10、1.20、1.30、1.00 ES 和 3.00 ES 好的,所以我调整着色器以使用版本 300 ES.同时,我想检查当前驱动程序/卡支持的 GLSL 版本,所以我使用这个: glGetString (GL_SHADING_LANGUAGE_VE
..