Consists of up to one Shader::Source per shader stage.
More...
Consists of up to one Shader::Source per shader stage.
◆ Specification() [1/4]
G3D::Shader::Specification::Specification |
( |
const Any & |
any | ) |
|
◆ Specification() [2/4]
G3D::Shader::Specification::Specification |
( |
| ) |
|
◆ Specification() [3/4]
G3D::Shader::Specification::Specification |
( |
const String & |
f0, |
|
|
const String & |
f1 = "" , |
|
|
const String & |
f2 = "" , |
|
|
const String & |
f3 = "" , |
|
|
const String & |
f4 = "" |
|
) |
| |
Take in between 1 and 5 filenames, each uniquely corresponding to one of the 5 stages of the shading pipeline.
We parse each filename, and based on the extension, load it into the specification at the corresponding stage The valid extensions are as follows:
Shader Stage | Extension(s)
|
Vertex | .vrt or .vtx |
---------------------— | --------------— |
Tesselation Control (Hull) Shader | .ctl or .hul |
---------------------— | --------------— |
Tesselation Evaluation (Domain) Shader | .evl or .dom |
---------------------— | --------------— |
Geometry Shader | .geo |
---------------------— | --------------— |
Pixel (Fragment) Shader | .pix or .frg |
---------------------— | --------------— |
Compute Shader | .glc or .glsl |
If any of the strings passed in is not the empty string or a filename with this extension, an error will be thrown.
◆ Specification() [4/4]
G3D::Shader::Specification::Specification |
( |
const Array< String > & |
filenames | ) |
|
◆ operator[]() [1/2]
◆ operator[]() [2/2]
◆ setStages()
void G3D::Shader::Specification::setStages |
( |
const Array< String > & |
filenames | ) |
|
|
protected |
◆ Shader
◆ shaderStage