这是我读过的语法
tex t a b-在a坐标处采样b中的纹理(它应该是fs寄存器之一),将产生的颜色放在t中。
但在一些开源项目代码中,我发现有人写了这样的tex:
tex ft0.xyzw vi0.xyzw fs0 <fLinear,mLinear,clamp,2d,rgba,b:45>//what's the bias:45?还有这个
tex ft3, v3, fs0<2d, linear, miplinear,dxt1>//what is dxt1, are there any like this?这让我对我可以在<>中放什么东西感到困惑,似乎没有订单要求。
谢谢你的暗示
发布于 2014-05-20 15:51:34
我只能猜测其他标志的含义--它们不在我所见过的任何文档中,而且肯定不在AGALMiniAssembler的股票版本中。我的直觉是,它们很可能被AGALMiniAssembler的扩展版本所使用,用于特定的Flash (比如Starling或Away3D)。我会坚持与良好的文件纹理标志-见pdf链接在我的帖子末尾。
至于订单,您是正确的--在将标记传递给tex函数时,订单并不重要,前提是您使用的是Adobe提供的基本版本的AGALMiniAssembler。
原因相对简单:当操作转换为字节码时,单个'tex‘操作使用的每个标记都由一个64位字段表示。顺序并不重要,因为不同的标记将占用字段中不同的位。如果同时使用两个占据字段相同部分的标记--“最近的”和“线性的”,或者“最近的”和“名称”(注意这些指令之间的冲突行为!),您仍然会遇到麻烦。
如果您想要查看当前非beta版本的闪存中实现的操作系统,或者想进一步了解字节码在传递给着色器之前是如何组装的,请查看此pdf。
https://stackoverflow.com/questions/18200136
复制相似问题