问题标签 [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.
actionscript-3 - 鼹鼠山着色器
我正在尝试了解 molehill 并希望将一个顶点与两个矩阵相乘,例如:
我猜我的顶点着色器看起来像:
我会设置矩阵
但它不起作用。我究竟做错了什么?
我知道我可以在使用着色器之前对矩阵进行多重处理,但我正在尝试理解 AGAL。
干杯
actionscript-3 - 类似 Photoshop 的“变亮”片段着色器的问题
我在 OpenGL 中对此进行了标记,因为我认为它与该空间相关(尽管命名不同)。
我正在尝试让类似 Photoshop 的混合在使用 OpenGL(ES2?)的 Flash 11 中工作。我在使用 lighten 时遇到了特殊问题,我认为应该是:
outputColor.rgb = max(base.rgb, blend.rgb);
我相信我遇到了问题,因为我的图层具有透明度。但是,即使我预乘了我的图层,我仍然遇到问题(图像仍然太暗)。
我在这里错过了一步吗?(这是 AGAL,Adobe 的 gl 程序集)
actionscript-3 - 如何在 AGAL 中使用立即数
例如,我想在片段着色器中输出红色。
HLSL:
汇编:
如何在 AGAL 中实现这一点?
flash - 数字可以在 AGAL 操作中硬编码吗?
如果我尝试简单地将 1.0 添加到寄存器的一个颜色通道,我可以:
- 用一些我不知道的浮点数语法直接写它,或者......
- 我是否必须先将数字传递给常数,然后在那里使用该常数寄存器?
我正在尝试做的示例:
flash - AGAL 和可变寄存器
我只是想这样做是如何工作的。所以我在垂直着色器中。我存储从 va1 到 v1 的 UV 坐标。在片段着色器中,插值纹理坐标现在在 v1 中可用于采样。引擎盖下是否有联系,比如语义,将 v1 与正常坐标相关联?
片段是按三角形推送到片段着色器还是在整个网格的几何顶点通过时被推送到片段着色器?
在顶点着色器中,假设我将模型视图乘以顶点的位置。然后我想与片段着色器共享我的 z 坐标以获取其他内容。我将转换后的向量的 z-cord 存储到 v3 中。一旦我进入片段着色器并访问 v3 的 z 坐标,这是我传入的相同 z 坐标还是这个 z 坐标会被两者之间的透视划分改变?我只是问,因为我想澄清在这些寄存器中存储值时描述的“插值”行为。
flash - 在 AGAL 顶点着色器中,输出着色器中使用的“w”组件是什么?
我了解顶点位置的“xyz”组件,但“w”有什么作用?它可以一直保持相同的常数值吗?
例子:
flash - 有没有办法在 AGAL 中进行按位移位操作?
如果我将所有颜色编码为一个浮点值(RGB):
如何在 AGAL 中检索这些颜色通道?似乎没有任何位运算符。
flash - 矩阵是否可以存在于 AGAL 中的顶点常量以外的顶点寄存器上?
我经常看到将Matrix3D对象作为 AS3 中的顶点常量寄存器传递给Context3D对象的示例。但从未在任何其他类型的寄存器(临时或属性)中看到矩阵。
是否有任何方法可以将 Matrix 顶点常量复制到临时寄存器,然后使用其他提供的值(顶点属性或其他常量)操作该 Matrix 临时寄存器的各个字段(例如:用于旋转)?
一个简单的mov dest, source
操作可以解决问题吗?
actionscript-3 - 在 agal 的片段着色器中获取当前缓冲区深度
如果有的话,是否可以在片段着色器中的 AGAL 中获取当前片段深度?
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
提前致谢!