为什么AGAL着色器需要及时编译?

时间:2014-05-12 06:52:33

标签: actionscript-3 flash 3d jit agal

Flash Player 11引入了AGAL unified shader assembly language,它能够透明地向Flash开发人员编译成OpenGL GLSL着色器和DirectX HLSL着色器。

几乎每个使用AGAL的程序都与AGALMiniAssembler(用AS3编写)一起打包,它将AGAL源代码作为字符串并在运行时将其编译为AGAL二进制格式(即Just In)时间)。然后将此二进制数据输入Flash Player,然后将其输入图形硬件

但为什么AGAL 源代码必须首先发布并包含在您的应用中?难道你不能在你的dev上运行AGAL汇编程序。 PC并简单地包含AGAL ByteArray? AGAL着色器是否需要及时编译?请注意我不是要求获益,我只是问是否真的有必要包含AGAL源代码并让它编译JIT而不是AOT(Ahead of Time)。

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。使用miniassembler编译着色器时,您将得到bytearray。所以你可以使用这个bytearray - 嵌入或加载。