用于单元测试glsl函数的python库
shadertest的Python项目详细描述
shadertest
用于单元测试glsl函数的python库
示例
下面我们有一个非常简单的片段着色器,名为add.frag
。
#version 330outvec4outColor;floatadd(floata,floatb){returna+b;}voidmain(){outColor=vec4(add(0.5,0.5));}
要使用shader test进行测试,我们只需要创建一个ShaderContext
,并开始从shader调用函数。
importpytestimportshadertest@pytest.fixture(scope='module')defbasic_shader():withshadertest.ShaderContext.from_file('add.frag')asfuncs:yieldfuncsdeftest_add(basic_shader):assertbasic_shader.add(4,2)==6
支持的数据类型
返回值和函数参数支持以下数据类型:
- 布尔
- 内景
- uint
- 浮动
- bvecn
- 依维柯
- vecn
有关glsl数据类型的更多信息,请签出它们上的Khronos wiki page。