Shaderpp is a GLSL(shader) code generator library for C++.
It enables integrated development experiment for C++ and GLSL.
- C++ 17 or newer
GLSL Feature | Progress |
---|---|
Preprocessor | 50% (using preprocessor in C++) |
Operator priority | 100% (as same as C++) |
Comments | Unavailable |
Tokens | 15% |
Keywords | 10% |
Types | 3% (float, vec2, int) |
Booleans | 0% (Well I don't know how to control if statement) |
Literals | 0% |
Structures | 60% |
Functions | 50% |
Arrays | 0% |
Implicit Conversions | 0% |
Storage Qualifiers | 0% |
Built-In functions | 0% |
Input/Output Variables | 0% |
Uniform Variables | 0% |
Buffer Variables | 0% |
C++ Code:
std::function<Float(Float&, Float&)> func = [](Float& a0, Float& a1) {
return a0 * a1;
}
auto func_parsed = Parse(func, "func");
Auto Generated GLSL Code:
func(float a0, float a1);
func(float a0, float a1) {
return a0 * a1;
}