A Python library for unit testing GLSL functions
Project description
shadertest
A Python library for unit testing GLSL functions
Example
Below we have a very simple fragment shader called add.frag
.
#version 330
out vec4 outColor;
float add(float a, float b) {
return a + b;
}
void main() {
outColor = vec4(add(0.5, 0.5));
}
To test using shadertest, we just need to create a ShaderContext
, and start calling functions from the shader.
import pytest
import shadertest
@pytest.fixture(scope='module')
def basic_shader():
with shadertest.ShaderContext.from_file('add.frag') as funcs:
yield funcs
def test_add(basic_shader):
assert basic_shader.add(4, 2) == 6
Supported data types
The following data types are supported for return values and function arguments:
- bool
- int
- uint
- float
- bvecn
- ivecn
- vecn
For more information about GLSL data types, checkout the Khronos wiki page on them.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
shadertest-0.2.1.tar.gz
(4.4 kB
view hashes)
Built Distribution
Close
Hashes for shadertest-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46fa227e1fb97308f2e960d0449e3bd6f4bc969ae9f4816b4e612852f95fb9d8 |
|
MD5 | 2df8a05fd49afe2671a955a0a0f40e83 |
|
BLAKE2b-256 | 7963bf20be15f741faa843249a35d7b762903b7203ced13077bd8acb2d08984f |