问题标签 [geometry-shader]

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 投票
1 回答
212 浏览

transformation - Cg几何着色器中的世界空间视图方向

如何在 Cg 几何着色器内的世界空间中获取视图方向?

0 投票
1 回答
5062 浏览

hlsl - 如何将几何着色器与输出流一起使用?

似乎此功能的文档记录很差。在 DirectX SDK 中的几何着色器教程中,没有使用 CreateGeometryShaderWithStreamOutput 的示例,也没有任何线程可以解释它的基础知识。在 msdn 中,他们说使用什么函数来创建它,但不是它的用途和用途。有没有人成功使用过它,你能分享一个小例子或教程的链接吗?它的用途是什么,性能好吗?据我所知,它用于基于 GPU 的截锥体剔除?

0 投票
3 回答
3183 浏览

opengl - 几何着色器中的宽线表现异常

我正在尝试使用几何着色器渲染任意宽线(在屏幕空间中)。起初看起来一切都很好,但在某些视图位置,线条渲染不正确:

正确渲染 不正确的渲染

左边的图像呈现了正确的渲染(X、Y 和 Z 轴上的三条线,2 像素宽)。

当相机在原点附近移动时(实际上是在线条附近),线条就像正确的图像一样被渲染。着色器看起来很简单,我不明白我的 GPU 上发生了什么:

0 投票
2 回答
2464 浏览

arrays - 在 Mac 上将不同的数组从顶点传递到几何着色器

我希望能够将每个顶点的任意数量的可变值从顶点着色器传递到几何着色器。我知道OpenGL没有动态数组,所以应该在编译时指定数字。整个过程应该在配备 NVIDIA GeForce 9400M 显卡和仅提供 OpenGL 2.1 的驱动程序以及一些扩展的 Apple MacBook 上运行。

这里的问题似乎是几何着色器以每个顶点一个元素的形式或数组的形式获取其输入。据我所知,我的设置中没有可用的数组数组,也没有包含数组的接口块数组。到目前为止,我能想到的最好的解决方案是指定一些变量来传递这些信息,这些信息是从顶点着色器中的数组中提取出来的,然后在几何着色器中变成具有一定步长的数组。这样,仍然可以使用计算的索引来执行对值的访问。

有没有更好、更优雅的方式?

0 投票
1 回答
1260 浏览

macos - 在 OSX 上使用 OpenGL 渲染到 3D 纹理(多层帧缓冲附件)

我在 OSX 10.7.5 上设置了 OpenGL 3.2 CORE 上下文,并尝试使用分层渲染方法渲染到 3D 纹理。支持几何着色器功能“gl_layer” ,但我无法将 GL_TEXTURE_3D 绑定到我的帧缓冲区附件。它返回 GL_FRAMEBUFFER_UNSUPPORTED。

这是我的 MBP 中的卡和驱动程序版本:

AMD Radeon HD 6770M 1024 MB - OpenGL 3.2 核心 (ATI-7.32.12)

此功能与特定扩展 AFAIK 没有直接关系。有谁知道如何确定驱动程序或硬件是否不支持此功能?非常感谢。

下面要重构的代码。我使用 glfw 来设置上下文:

0 投票
1 回答
2820 浏览

shader - 如何计算“查看逆矩阵”

我正在尝试使用 RenderMonkey 推出的粒子系统示例,它使用“视图逆矩阵”来展示粒子效果的四边形。

我可以从 RenderMonkey 中看到所有值,但我无法弄清楚它们是如何计算“视图逆矩阵”的,它不是视图矩阵的逆矩阵或视图投影的逆矩阵。

这是我所知道的,名称是“变量语义”:

编辑,我认为 RenderMonkey 中存在错误,因为 Viewmatrix 在我移动时永远不会更新,除非我激活另一个效果并返回原始状态。

来自这篇文章:http ://swiftcoder.wordpress.com/2008/11/25/constructing-a-billboard-matrix/

我相信它是:

其中 V 表示 View 矩阵的旋转部分的倒数,x,y,z 表示 View 位置。但在我尝试之前我无法确认,因为渲染猴子错误。

0 投票
0 回答
225 浏览

opengl - 关于几何着色器的查询

我正在使用 GL_ARB_geometry_shader4 扩展处理几何着色器。

我的代码如下:

我的顶点着色器是:

几何着色器是:

这段代码没有渲染任何内容。glDrawArrays() 中的模式到底应该是什么?GL_GEOMETRY_OUTPUT_TYPE_EXT 参数将如何影响 glDrawArrays() ?

我期望的是 3 个顶点将被传递给几何着色器并使用我们构造一个大小为 4 的图元(假设 GL_TRIANGLE_STRIP 需要 4 个顶点)。有人可以对此有所了解吗?

0 投票
0 回答
565 浏览

macos - MacOS 上的几何着色器

我正在尝试编写一个简单的直通几何着色器,但它不起作用,我真的不明白为什么。这是我的gs:

我正在使用 MacOS 10.8 和 OpenGL Shader Builder 2.2(进行测试)。看起来版本 120 是我可以使用的最新版本。

问题是编译和链接都成功了,但是什么都没有渲染。
我已经设置

我错过了什么?

0 投票
2 回答
1481 浏览

opengl - 几何着色器体素化错误

我试图制作一个几何着色器(使用着色器制造商)来使模型合法化。首先,我试图进行体素化,但结果并不好,我找不到它的问题所在。

在下面的代码中,想法是找到输入三角形的重心,然后使其成为我要创建的框的中心。

我知道这不是世界上最优雅的代码,但首先要先行,我需要让它工作......

这就是我得到的:在此处输入图像描述 这就是我应该得到的:在此处输入图像描述

0 投票
1 回答
3029 浏览

opengl - 如何通过着色器管道传递顶点颜色?

我正在尝试通过顶点、几何和片段着色器传递顶点颜色:

顶点着色器:

几何着色器:

片段着色器:

但是它不起作用:-(。两个点都是灰色的。我该怎么做?