将混合cg / hlsl着色器转换为glsl es

时间:2013-04-10 08:04:20

标签: hlsl cg glsles hlsl2glsl

我正在寻找一种可以将cg / hlsl混合着色器转换为glsl es着色器的工具。我已经尝试了hlsl2glsl,它不理解关键字'extern'虽然它是一个可行的hlsl关键字并且已经查看了cgc但是没有找到关于如何编译glsl es的文档。

由于

2 个答案:

答案 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的用法编译代码。