问题标签 [opengl-sc]

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 回答
198 浏览

opengl-es - VX 与 Opengl SC 一起工作的模拟器

是否有任何可用的 VXworks 模拟器,我可以在其中构建我的 Opengl ES 或 SC 应用程序并运行它?我是 opengl 平台的新手,我的项目涉及安全关键系统的显示开发。我想在 VXworks 上模拟一个基本的 opengl sc 代码。我的目标嵌入式平台尚未确定。任何指导或建议都会有所帮助。

0 投票
1 回答
113 浏览

opengl - 关于显示列表OpenGL SC 1.0.1的问题

我对 OpenGL SC 1.0.1 中的显示列表有几个问题:

  1. 如果我理解得很好,显示列表会保存一系列 OpenGL 基元命令,以便在运行时重用。现在,假设我还在此显示列表中包含了一个赋值,该赋值更改了在静态序列之外声明的参数的值。-> 在生成显示列表期间,或者在运行时调用此显示列表时,是否会更新此参数?

  2. 我只在 OpenGL 上下文初始化时生成所有显示列表。但是,在我的应用程序中,出于几个原因,我在运行时的每个周期都执行 glClear。-> glClear 命令后,你认为我所有的显示列表都被删除了吗?因为,通过这样做,我注意到通过显示列表生成的图形组件永远不会被绘制。

0 投票
1 回答
100 浏览

egl - EGL_EXT_Compositor 示例和行为

我正在尝试了解 EGL 合成器扩展的用法: https ://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_compositor.txt

阅读扩展描述后,最简单的方法是查看一些使用示例。但是没有运气,我根本没有找到任何例子。那么,有没有人可以上传一些使用示例代码?我关于扩展的主要问题是:重叠窗口的政策是什么?它只是属性列表中的窗口顺序还是窗口之间有混合选项?

谢谢

0 投票
0 回答
43 浏览

polygon - 使用 glPolygonMode OpenGL 命令的兴趣

在阅读 的规范时glPolygonMode(),我觉得这只是用所需颜色填充多边形的另一种方法。

我对吗?

因为如果是,那么使用此命令填充多边形有什么好处,而不仅仅是使用glVertex()通过在指定多边形顶点之间进行插值来填充多边形的命令?

我正在使用 OpenGL SC 1.0.1。

0 投票
0 回答
137 浏览

c - 在不支持 GLSL 的情况下在屏幕/纹理中查找最大最小像素亮度

在我的 2D 地图应用程序中,我有 16 位高度图纹理,其中包含与地图上某个点相关联的以米为单位的高度。

当我在屏幕上绘制这些纹理时,我想显示一个分析,使得屏幕上最高海拔的像素是白色的,屏幕上最低海拔的像素是黑色的,中间的值是插在这两者之间。

我使用的是较旧的 OpenGL 版本,因此无法访问 GLSL 或 PBO 等现代管道功能(据我所知,这可以使将颜色缓冲区内容发送到 CPU 端比 glReadPixels 更有效)。

我可以访问 ATI_fragment_shader 扩展,它可以使用基本片段着色器来合并这些纹理中的 R 和 G 通道并获得单个浮点灰度亮度值。

然后我就可以根据最大和最小像素亮度值在着色器内再次为这些像素重新着色(将它们映射到 0-1 范围),但我不知道它们是什么。

我的问题是,在屏幕上当前的像素之间,我如何找到具有最大和最小亮度值的像素?或者作为替代方案,我如何在纹理中找到这些值?(因为我可以在屏幕上绘制具有灰度亮度值的纹理并将数据作为纹理检索后进行 glCopyTexImage2D 调用)。

到目前为止我尝试过或读过的东西:

- 如果我能以某种方式将颜色缓冲区中的当前像素 RGB 值获取到 CPU 端,我可以手动找到我需要的内容然后使用它们。但是,使用 glReadPixels 读取颜色缓冲区内容的速度非常慢。即使我将其设置为在多个帧上完成一次读取操作也没有用。

- 将纹理下采样到 1x1 大小,直到最后一个常设像素为最小值或最大值,然后在着色器中使用此 1x1 纹理。我不知道如何在没有 GLSL 和 texel 获取支持的情况下实现这一点,因为我必须查找当前像素的右侧、上方和上方的像素,并找到它们之间的最小/最大值。