前置工作:已编译好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
- 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替换测试
-
将 runtime\shaders\dx11\vs_cubes.bin 替换成我们新编译好的文件
-
运行 example-01-cubesDebug.exe 查看效果
网友评论