问题标签 [agal]

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

actionscript-3 - 鼹鼠山着色器

我正在尝试了解 molehill 并希望将一个顶点与两个矩阵相乘,例如:

我猜我的顶点着色器看起来像:

我会设置矩阵

但它不起作用。我究竟做错了什么?

我知道我可以在使用着色器之前对矩阵进行多重处理,但我正在尝试理解 AGAL。

干杯

0 投票
2 回答
487 浏览

actionscript-3 - 类似 Photoshop 的“变亮”片段着色器的问题

我在 OpenGL 中对此进行了标记,因为我认为它与该空间相关(尽管命名不同)。

我正在尝试让类似 Photoshop 的混合在使用 OpenGL(ES2?)的 Flash 11 中工作。我在使用 lighten 时遇到了特殊问题,我认为应该是:

outputColor.rgb = max(base.rgb, blend.rgb);

我相信我遇到了问题,因为我的图层具有透明度。但是,即使我预乘了我的图层,我仍然遇到问题(图像仍然太暗)。

我在这里错过了一步吗?(这是 AGAL,Adobe 的 gl 程序集)

0 投票
1 回答
351 浏览

actionscript-3 - 如何在 AGAL 中使用立即数

例如,我想在片段着色器中输出红色。

HLSL:

汇编:

如何在 AGAL 中实现这一点?

0 投票
1 回答
315 浏览

flash - 数字可以在 AGAL 操作中硬编码吗?

如果我尝试简单地将 1.0 添加到寄存器的一个颜色通道,我可以:

  • 用一些我不知道的浮点数语法直接写它,或者......
  • 我是否必须先将数字传递给常数,然后在那里使用该常数寄存器?

我正在尝试做的示例:

0 投票
1 回答
324 浏览

flash - AGAL 和可变寄存器

  1. 我只是想这样做是如何工作的。所以我在垂直着色器中。我存储从 va1 到 v1 的 UV 坐标。在片段着色器中,插值纹理坐标现在在 v1 中可用于采样。引擎盖下是否有联系,比如语义,将 v1 与正常坐标相关联?

  2. 片段是按三角形推送到片段着色器还是在整个网格的几何顶点通过时被推送到片段着色器?

  3. 在顶点着色器中,假设我将模型视图乘以顶点的位置。然后我想与片段着色器共享我的 z 坐标以获取其他内容。我将转换后的向量的 z-cord 存储到 v3 中。一旦我进入片段着色器并访问 v3 的 z 坐标,这是我传入的相同 z 坐标还是这个 z 坐标会被两者之间的透视划分改变?我只是问,因为我想澄清在这些寄存器中存储值时描述的“插值”行为。

0 投票
1 回答
472 浏览

flash - 在 AGAL 顶点着色器中,输出着色器中使用的“w”组件是什么?

我了解顶点位置的“xyz”组件,但“w”有什么作用?它可以一直保持相同的常数值吗?

例子:

0 投票
2 回答
411 浏览

flash - 有没有办法在 AGAL 中进行按位移位操作?

如果我将所有颜色编码为一个浮点值(RGB):

如何在 AGAL 中检索这些颜色通道?似乎没有任何位运算符。

0 投票
2 回答
248 浏览

flash - 矩阵是否可以存在于 AGAL 中的顶点常量以外的顶点寄存器上?

我经常看到将Matrix3D对象作为 AS3 中的顶点常量寄存器传递给Context3D对象的示例。但从未在任何其他类型的寄存器(临时属性)中看到矩阵。

是否有任何方法可以将 Matrix 顶点常量复制到临时寄存器,然后使用其他提供的值(顶点属性或其他常量)操作该 Matrix 临时寄存器的各个字段(例如:用于旋转)?

一个简单的mov dest, source操作可以解决问题吗?

0 投票
1 回答
575 浏览

actionscript-3 - 在 agal 的片段着色器中获取当前缓冲区深度

如果有的话,是否可以在片段着色器中的 AGAL 中获取当前片段深度?

0 投票
1 回答
144 浏览

field - 可以将四 (4) 个单个 VertexBuffer 关联到顶点属性寄存器的每个字段吗?

Stage3D/AGAL中,是否可以通过以下方式将单个 VertexBuffers 指向相同va0的对象:

  • 每个VertexBuffer数据都可以独立更改(假设在某些情况下这是很好的性能,是吗?)。

  • 每个都VertexBuffer专注于va0(第一个顶点属性寄存器)的一个字段,以便 vertexbuffer1 操作va0.x、 vertexbuffer2 = va0.y、 vertexbuffer3 =va0.z和 vertexbuffer4 = va0.w

由于您可以在将 VertexBuffer 分配给对象时指定“偏移量”和数据格式(例如:FLOAT_1、FLOAT_4)Context3D,我想这是可能的。

也许我的设置不正确,但是当我尝试这样做时,我无法实现。

每个 VertexBuffer 是否需要占用每个寄存器中的全部 4 个字段?如果是这样,我不确定我是否理解为什么存在 FLOAT_1 -to- FLOAT_3 值!:S

提前致谢!