很多刚开始写HLSL,或者cg,glsl等shader语言的朋友一定会有个小困惑,编辑器不支持这些shader语言的关键字,在记事本中跟文本一样全是一个颜色的写,很容易犯错。下面以HLSL为例(其他类似)说下,如何使得vs能够识别并高亮这些shader的关键字。

    主要有三个办法。

    一个是利用Nvidia的CG:

    CG又分为两个方法:

   (一)是手工修改注册表:
   1.http://developer.nvidia.com/object/cg_toolkit.html#downloads下载一个Cg(不大,20M

而已)。

    2.装上Cg后找到NVIDIA Corporation\Cg\msdev_syntax_highlighting\usertype.dat文件,将其复制到Microsoft Visual Studio 9.0\Common7\IDE去。

    3. 打开注册表HKEY_LOCAL_MASHINE\SOFTWARE\Microsoft\VisualStudio\x.0

\Languages\File Extensions,(x.0表示什么版本的VS都可以)新建一项命名为.cg” ,并在里面新建一个值,然后把.cpp"中的

值复制到刚刚新建的那个值。

    4. 重启VisualStudioDONE!

    (二)是:在装上Cg后找到NVIDIA Corporation\Cg\msdev_syntax_highlighting\usertype.dat文件,将其复制到Microsoft Visual Studio 9.0\Common7\IDE。在最新cg版本中msdev_syntax_highlighting这个文件夹下还有有了自动注册表生成install_highlighting_vs*,可以直接根据对应的vs版本(仅支持vc6,vs2003,vs2005)点击对应的注册表即可。

    这个方法有几个局限,一是只支持vc6,vs2003,vs2005几个版本,然后cg的关键字和HLSL还是有区别的,当然这个可以自己直接在usertype.dat里面修改。最后貌似只支持.cg后缀名的shader文件?

 

    第二个HLSL高亮的方式是直接安装InteliShade,这个百度搜索下载,或者我的上传http://download.csdn.net/source/3526798。这个貌似只支持.fx的后缀名的shader文件。

  

    最后一个HLSL高亮的方式就是自己动手了:

    首先用记事本建一个文件格式的文件,命名为usertype.dat,再要用到的HLSL的关键字给敲进去,如:

float
float2
float3
float4
FLOAT
FLOAT2
FLOAT3
FLOAT4
float3x3

    把所有的关键字弄上去,当然你也可以定义自己的一些关键字,或者下载我上传的userdata.dat,http://download.csdn.net/source/3526794

    接着把这个文件扔到VS的某个目录下X:\Program Files\Microsoft Visual Studio 8\Common7\IDE(XVS安装盘)

    另外,现在打开HLSLFX文件还是不会出现高亮,还得对VS进得一下设置。

打开 tool”-> options” -> text editor” -> file extension”,在右边的扩展名写上fxhlsl,选择VC++编译器(其他没用过)。点击Add,再ok

    确定后重启起VS再打开fx或hlsl文件就可以看到HLSL的关键字变成系统默认的蓝色的了。

posted on 2011-08-17 16:24  Bester  阅读(1222)  评论(0编辑  收藏  举报