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



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

谢谢

我知道这是个老问题,但我还是要给出这个答案。

我遇到了这个,而[合法]想要适当一些优秀的针对unity的CG着色器代码;-)

看一下Github上cg -shader到glsl -shader的Python转换脚本'cg2glsl.py'(它需要在nvidia-cg-toolkit包中找到cgc命令,大多数操作系统都支持。

它的用法在"从cg着色器转换"中有简要介绍

引自Tomaka17的Cg -to-GLSL相关博客文章《将Cg转换为GLSL,然后使用代码》

Cg是由nVidia开发的着色语言。基本上都是你写的你的着色器在Cg....实际上,Cg会将您的代码编译成特定于api的语言也有。

在Tomaka17的示例中,拦截的nVidia cg库调用使用c++来提取编译后的GLSL代码,我建议在概念上与cg2glsl.py将做的相同(尽管不必通过Python使用方式编译代码)。

cgc filename -profile glslv/glslf

但是你必须为glsl添加精度,cg编译器不会这样

最新更新