美文网首页
bgfx 编译shader(1)

bgfx 编译shader(1)

作者: ansey | 来源:发表于2021-07-14 01:49 被阅读0次

    前置工作:已编译好bgfx cubes样例

    环境:

    系统 : window10
    IDE : VS 2019

    编译shaderc工具

    • shaderc 是 bgfx的多平台shader编译工具,我们需要先获取它.
    • 生成 vs2017 工程
      工程会生成到目录 .\bgfx\.build\projects\vs2017\
    cd .\bgfx
    ..\bx\tools\bin\windows\genie --with-tools vs2017
    
    • 生成 shadercDebug.exe
      打开 工程 .\bgfx\.build\projects\vs2017\bgfx.sln


      image.png
      image.png

    生成好后在 .\bgfx\.build\win32_vs2017\bin 中

    准备好shader目录

    • 新建文件夹 bgfx\.build\cubeShader\ 和 bgfx\.build\cubeShader\hlsl\
    • 从 bgfx\examples\01-cubes\ 中复制文件 varying.def.sc 和 vs_cubes.sc
    • 复制 shadercDebug.exe
    shader预备编译文件夹

    简单修改shader

    • vs_cube.sc
    //调整common.sh文件路径
    #include "../../examples/common/common.sh"
    
    void main()
    {
        gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0) );
    //输出红色
        v_color0 = vec4(1.0,0.0,0.0,1.0);
    }
    

    编译成二进制shader文件 (这里以hlsl为例)

    cd .\bgfx\.build\cubeShader\
    .\shadercDebug.exe -f ./vs_cubes.sc -o ./hlsl/vs_cubes.bin --depends -i ..\..\src --varyingdef varying.def.sc --platform windows -p vs_5_0 --type vertex 
    

    编译好的 vs_cubes.bin 文件会在 \hlsl 目录

    shader替换测试

    需要先完成 cubes样例的编译

    • 将 runtime\shaders\dx11\vs_cubes.bin 替换成我们新编译好的文件

    • 运行 example-01-cubesDebug.exe 查看效果

    shader替换后

    相关文章

      网友评论

          本文标题:bgfx 编译shader(1)

          本文链接:https://www.haomeiwen.com/subject/sxbspltx.html