我正在寻找一种可以将cg / hlsl混合着色器转换为glsl es着色器的工具。我已经尝试了hlsl2glsl,它不理解关键字'extern'虽然它是一个可行的hlsl关键字并且已经查看了cgc但是没有找到关于如何编译glsl es的文档。
由于
答案 0 :(得分:2)
cgc filename -profile glslv / glslf
但你必须为glsl es添加presecion,cg编译器不是这个
答案 1 :(得分:2)
老问题,我知道,但无论如何我会提供这个答案。
我偶然发现了这个[合法]想要使用一些精美的Unity着色器着色器代码; - )
在Github上查看CG-shader-to-GLSL-shader Python转换脚本“cg2glsl.py”(它需要在nvidia-cg-toolkit
中找到cgc
命令包,在大多数操作系统上都受支持。
简要介绍了它的用法,在converting from cg shaders'
中列出引自Tomaka17的CG-to-GLSL相关博文'Turning Cg into GLSL, and then using the code'
Cg是由nVidia开发的着色语言。基本上你写的都是 你的着色器在Cg .... Cg实际上会将你的代码编译成 API特定语言。
在Tomaka17's示例中,他使用C ++拦截了nVidia CG库调用以提取已编译的GLSL代码,我建议它在概念上与cg2glsl.py将要执行的操作相同(尽管不必通过Python的用法编译代码。