问题标签 [opengl-es-1.1]

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 投票
0 回答
301 浏览

android - 以编程方式在Android中对齐边缘和对齐中间的opengl es 2.0

我试图像 Auto cad 一样捕捉到边缘并捕捉到线条的中间效果。

我使用 OPENGL ES 2.0 Android 技术来绘制这条线。

我成功地使对齐边缘生效。但是,当我触摸(Action Down - Touch Event)线的角落时,它会显示像线条角落中的小方块一样的捕捉效果。

但是,上触线角后,捕捉效果将无法清除。

注意:这是我的问题。当我触摸线的起点和终点时,捕捉效果就来了。但是,删除线上的触摸后,我不知道如何清除最后显示的捕捉效果。

像如何清除最后显示的快照效果顶点缓冲内存?

对齐边缘效果:
对齐边缘效果

0 投票
1 回答
4808 浏览

c++ - 如何在opengl上为两个重叠对象设置混合功能

嗨,我需要画一个圆角矩形。 圆矩形绘制程序

我按照上图的过程。我首先画了绿色矩形。然后我画了两个黑色的矩形。然后我在边缘画了圆圈,使角变圆。现在我这样做后得到的如下图所示。

在此处输入图像描述

可以看出,角圆与矩形重叠的部分透明度较低。但不与矩形重叠时透明度更高。矩形的 alpha 设置为 0.5f。并且圆圈也有 0.5f alpha。所以这就是为什么它在重叠部分是白色的,在非重叠部分是透明的。我希望重叠部分具有与矩形相同的透明度,以便无法看到重叠的圆形部分。glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);我的混合功能是我试图在这里更详细地了解混合功能。但我什么都听不懂。我的代码如下,

rectColor有价值

drawCircle 函数生成圆的点并绘制它。该函数的绘图部分是

谁能帮我解决这个问题?谢谢。

编辑:这是使用这两个混合功能后的样子。 在此处输入图像描述

0 投票
0 回答
790 浏览

android - 为什么我的某些 png 文件不适用于 mipmap(android opengl 应用程序)

我使用以下代码在我的 android 应用程序中创建 mipmap

它适用于我的大多数 .png 文件,但除非我关闭 mipmapping,否则其中一些文件无法正确加载(显示为空白的白色纹理)。这是在 adobe photoshop v 12.0 中全部保存为 .png 的 128 X 128 纹理上

工作的纹理似乎总是比那些不工作的纹理具有相对较大的文件大小,所以我想知道它是否有时会使用一些 android 不支持的更新压缩,如果是,我该如何关闭它. 这是非常令人沮丧的,任何帮助将不胜感激。

PS我正在使用摩托罗拉atrix来测试应用程序

0 投票
3 回答
607 浏览

ios - 从 OpenGLES 1.0 移植到 2.0 (iOS) 的混合问题

我正在将一段非常简单的代码从 OpenGLES 1.0 移植到 OpenGLES 2.0。

在原始版本中,我启用了混合

我在我的 ES 2.0 实现中使用了相同的代码,因为我需要将新渲染的四边形与渲染缓冲区中的内容混合(我保留了渲染缓冲区,我无法重新渲染场景)。

我正在使用用作 alpha 蒙版的纹理(alpha 值显示从中心到外部的径向渐变,alpha 从 1 到 0),仅包含具有不同 alpha 值的白色像素。我给我的顶点同样的颜色,比如红色,alpha 为 100/255。我的背景是透明的黑色。在此之下,我有一个纯白色的表面(UIView)。我渲染了 4 个四边形。

OpenGLES 1.0 的结果(期望的结果) 在此处输入图像描述

我的观察告诉我,片段着色器应该是:

(我通过为我的顶点和纹理尝试不同的值得出了这个结论。这也是我在一些教程中读到的。)

我正在尝试编写一些 OpenGL 2.0 代码(包括顶点 + 片段着色器),它会给我与 OpenGLES 1.0 中完全相同的结果,仅此而已。除了在纹理上应用顶点颜色外,我不需要/不想在片段着色器中进行任何类型的混合。使用简单的着色器,这是我得到的结果: 在此处输入图像描述

我尝试了几乎所有我能想到的 *、+、mix 组合,但我无法重现相同的结果。这是迄今为止我得到的最接近的,但这绝对不是正确的(这也没有任何意义)

这个着色器给了我以下信息: 在此处输入图像描述

0 投票
0 回答
163 浏览

ios - 慢速 alpha 混合 opengl es 1.1

我查看了很多论坛,但无法提高 ipad 视网膜上的 fps。我目前获得 40 fps 并且目标是 60。我正在为我的 2d 游戏使用正交投影。我必须绘制 1 个不透明背景、3 个透明背景和 20 个透明图像(10 个屏幕大小为 1/4,10 个屏幕大小为 1/10)。我可以绘制所有小图像和背景,但是当我绘制其他透明背景时,我得到 40 fps。到目前为止我所做的一切:1)禁用与不透明对象的混合 2)禁用 alpha 测试 3)减少图像的位数 4)降低图像的分辨率

这是我的 alpha 混合代码:

请帮忙!!!!

0 投票
0 回答
310 浏览

textures - OpenGL ES级联2D网格平铺与纹理

我正在为黑莓 10 操作系统上的导航系统开发自定义地图。到目前为止,我已经设置了级联以使用 OpenGL ES 1.1。目前,我可以在一个循环中绘制几个图块,如下所示。

在阅读了一些在线使用顶点缓冲区对象和索引以及缓冲纹理的文章后,我是 OpenGL 的新手,这是一个更好的解决方案,因为它大大提高了性能。请指导如何使用 VBO 进行网格平铺并将纹理映射到 C++ 中的网格。示例代码或任何教程将更好地说明。如果我帖子中的代码没有很好地排序,请多多包涵。

谢谢。

编辑

在阅读了 ios 文档和 VBO 之后——只是来自 OpenGL 的示例,我按照我将在此处发布的代码中的内容执行了以下操作。我现在遇到的问题是 VBO 不会渲染任何东西,因为顶点数组将按预期渲染。

下面是创建我的 VBO 的方法和用于绘制顶点和索引的结构的代码,createVertexBuffers() 在 initialize() 中调用,drawTileGrids() 在 render() 中调用。

0 投票
1 回答
235 浏览

opengl-es-1.1 - 将 Ortho 转换为截锥体拾取

我无法将像素坐标从鼠标转换为 3D 平截头体。我在 OGL ES 1.1 上使用类似于 glProject() 的代码。我试过使用 glUnProject() 但我无法让向量工作,我知道有一种更简单的方法可以做到这一点。我希望能够比较 3D 和 2D 坐标并找出答案,但我没有成功。所以这就是我所知道的:

  1. 我正在使用正在选取的多边形中的 3D 顶点:

    -1.0,1.0,0.0

  2. 然后我使用 glProject() 将其转换为像素坐标:

    140.0, 259.0, 0.0

  3. 然后我使用鼠标像素坐标:

    140.0、220.0、0.0

  4. 这是我无法弄清楚的部分:

    -1.0, -1.0, 0.0

我从#4 的坐标中得到了#3 坐标,但我想要做的是相反的事情,即将像素转换为3D。

我真正需要知道的是鼠标在 3D 坐标中从另一个 3D 点拖了多远。

0 投票
2 回答
1161 浏览

ios - 带有多重采样的 iOS 上的 glReadPixels

我正在尝试通过多重采样从帧缓冲区中获取像素。它只返回零。我确实按照此处此处的建议调用 glResolveMultisampleFramebufferAPPLE ,但我无法弄清楚我的情况是什么问题。

首先,我创建了带有颜色附件的非多重采样帧缓冲区:

然后创建带有颜色和深度附件的多样本帧缓冲区:

然后清除帧缓冲区:

做我的绘图(这是 Cocos3D 绘图代码):

然后解析缓冲区:

然后全为零:

我跳过了两次 gl 检查创建帧缓冲区是否成功,因为它们创建成功。我的代码中的错误在哪里?

0 投票
1 回答
548 浏览

android - 在 GLSurfaceView 上调用 onResume 时 GLThread 未启动

我正在用 OpenGLES 1.1(使用 Android 静态 API (GLES11))编写游戏,每次我的游戏活动进入后台(按主页)时,它都会返回黑屏。

我知道纹理和资源已经丢失,但主要问题是 GLThread 不再运行(游戏逻辑基于 GLThread 运行)

我从 logcat 得到的错误是:

我在活动 onPause 上使用 glSurfaceView.onPause,在活动 onResume 上使用 glSurfaceView.onResume ... 谁能给我一个提示或解释究竟是什么导致了这个错误?

0 投票
2 回答
343 浏览

iphone - iOS openGL ES 1.0,无法渲染 Texture2D

我使用 openGL ES 1.0。解码流数据后,变为RGBA位。然后我将 RGBA 字节传输到带有参数的“渲染器”方法。
渲染器方法由每个帧例程调用。因为 RGBA 字节每次都会改变。

但它不绘制任何相框。只显示白色矩形和背景灰色。问题是什么?

[初始化]

[渲染器方法。每帧由外部调用]