问题标签 [vertex-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 投票
2 回答
992 浏览

opengl - 为 2D 优化 GLSL 中的模型视图转换

因此,在 GLSL 中转换顶点然后传递给片段着色器的标准方法是这样的:

但是,我在 2D 中工作,因此 4x4 矩阵中存在冗余。我这样做会更有效率吗?

gl_Position 需要一个 4 分量向量,因此在输出时需要额外的操作。但是矩阵乘法是针对 9 个元素而不是 16 个元素。我可以做得更好吗?

0 投票
1 回答
5683 浏览

opengl - OpenGL顶点着色器转换和输出

我有一个简单的顶点着色器

在我的客户代码中,我有

现在我的问题是,如果我在着色器中没有使用矩阵乘法并且在客户端代码中没有使用,这将为我呈现一个很好的三角形,它可以拉伸整个屏幕,所以我认为顶点着色器将它的坐标映射到坐标系中的屏幕x=-1..1y=-1..1

如果我在着色器中进行矩阵乘法,一切都很好。但是,如果我像显示的那样在着色器中注释掉代码并在客户端上执行它,我会得到奇怪的结果。它不应该产生相同的结果吗?

我是否误以为顶点着色器的输出gl_Position是 2D 坐标,尽管它是一个vec4

谢谢你的帮助。我真的很想了解顶点着色器在顶点位置方面的输出到底是什么。

0 投票
1 回答
1928 浏览

opengl - 启用/禁用片段和垂直着色器

目前我正在使用

但它没有正确切换回来,并给我一个“无效操作glError”沿着这些线

正确/正确的做法是什么(启用/禁用着色器)?

[我的代码文件(已删除临时链接)][1]

0 投票
1 回答
3103 浏览

opengl - 如何在openGL中将向量与“ModelViewProjectionMatrix”相乘?

我在顶点着色器中有一条线

我需要在没有着色器的情况下进行相同的计算,例如:

0 投票
1 回答
106 浏览

math - 等长函数

我计划在 GPU 中加入弯曲技术。就像弯曲一根棍子。它不必做真正的物理,但我确实希望弯曲函数(置换顶点)具有相等的长度。

我的功能将由 2 个组件构成:

  • 摇杆的 y 位置
  • 对棍子的力(一般,不是在特定的地方,如风)

我正在向 x 方向弯曲。我可以创建一些x = y * force公式,但问题是这会使对象的长度变形。

如何使对象变形,但保持其实际长度?如何限制我的功能?

或者以另一种方式:

如何调整多项式函数的幂,同时将长度保持在 y 区间内?例如。[0,1]

0 投票
1 回答
4655 浏览

c++ - 为什么调用 glCreateShader 时这个 OpenGL 着色器分段错误?

我正在尝试学习如何编写OpenGL Shaders。为什么在我的机器上运行此代码分段错误?(我使用的是 Ubuntu 10.04,我称之为shader.cpp。)

我正在使用以下 Makefile 编译它:

在调用glCreateShader的行上似乎存在分段错误。我没有找到这个问题的根源。我是初学者。谢谢!

注意:这段代码代表的是我第一次尝试使用 OpenGL 编写一个简单的着色器。如果一切都错了,请随时发布一些工作代码。我真正想要的是得到一些我可以编译和运行的东西。

0 投票
2 回答
11721 浏览

glsl - GLSL:顶点着色器到片段着色器没有变化

如何在不更改的情况下将数据从顶点着色器传输到片段着色器?我需要告诉顶点像素他们有这种颜色。这种颜色我只能在顶点着色器中获得。

0 投票
1 回答
389 浏览

graphics - 几何着色器执行次数?

因此,为每个顶点执行一个顶点着色器,为每个片段执行一个片段着色器(对吗?)。

几何着色器执行多少次?

0 投票
2 回答
1441 浏览

opengl - 从 GLSL 顶点着色器中检索数据

我有很多透明基元要在绘制之前进行排序,但是为了获得 Z 坐标、排序键,我已经在软件中执行了硬件中顶点着色器执行的所有转换。

我认为我可以通过从着色器中检索 Z 坐标并使用它对下一帧中的图元进行排序来优化该过程。由于原语的顺序预计不会在帧之间发生剧烈变化,因此它应提供足够公平的顺序。那么,我想知道如何从顶点着色器中获取一批 Z 坐标?可能吗?

0 投票
0 回答
217 浏览

macos - 顶点着色器是正确的,但不能在我的硬件上运行?

我无法弄清楚这个着色器有什么问题。它是正确的,可以编译和链接,但根本无法在我的硬件上运行(MacBook pro w/NVidia GeForce 9400,没什么特别的)。看起来完全符合 GLSL 1.2

有人觉得这里有什么不对劲吗?感谢您的任何建议/建议。