Shader program containing a vertex and pixel shader.
More...
#include <Shader.hpp>
|
void | Load (const char *vertexSource, const char *fragmentSource) |
|
void | Load (const FileSystem::FileContentsData &vertexDataGLSL, const FileSystem::FileContentsData &fragmentDataGLSL, const char *metalVertexShaderName, const char *metalFragmentShaderName, const FileSystem::FileContentsData &vertexDataHLSL, const FileSystem::FileContentsData &fragmentDataHLSL, const FileSystem::FileContentsData &vertexDataSPIRV, const FileSystem::FileContentsData &fragmentDataSPIRV) |
|
void | Use () |
| Activates the shader to be used in a draw call.
|
|
void | SetMatrix (const char *name, const float *matrix4x4) |
|
void | SetTexture (const char *name, class Texture2D *texture, int textureUnit) |
|
void | SetTexture (const char *name, class TextureCube *texture, int textureUnit) |
|
void | SetRenderTexture (const char *name, class RenderTexture *renderTexture, int textureUnit) |
|
void | SetInt (const char *name, int value) |
|
void | SetFloat (const char *name, float value) |
|
void | SetVector3 (const char *name, const float *vec3) |
|
void | SetVector4 (const char *name, const float *vec4) |
|
Shader program containing a vertex and pixel shader.
void ae3d::Shader::Load |
( |
const char * |
vertexSource, |
|
|
const char * |
fragmentSource |
|
) |
| |
Loads a GLSL or HLSL shader from source code. For portability it's better to call the other load method that can take all shaders as input.
- Parameters
-
vertexSource | Vertex shader source. Language depends on the renderer. |
fragmentSource | Fragment shader source. Language depends on the renderer. |
- Parameters
-
vertexDataGLSL | GLSL Vertex shader file contents. |
fragmentDataGLSL | GLSL Fragment shader file contents. |
metalVertexShaderName | Vertex shader name for Metal renderer. Must be referenced by the application's Xcode project. |
metalFragmentShaderName | Fragment shader name for Metal renderer. Must be referenced by the application's Xcode project. |
vertexDataHLSL | HLSL Vertex shader file contents. |
fragmentDataHLSL | HLSL Fragment shader file contents. |
vertexDataSPIRV | SPIR-V vertex shader file contents. |
fragmentDataSPIRV | SPIR-V fragment shader file contents. |
void ae3d::Shader::SetFloat |
( |
const char * |
name, |
|
|
float |
value |
|
) |
| |
- Parameters
-
name | Float uniform name. |
value | Value. |
void ae3d::Shader::SetInt |
( |
const char * |
name, |
|
|
int |
value |
|
) |
| |
- Parameters
-
name | Integer uniform name. |
value | Value. |
void ae3d::Shader::SetMatrix |
( |
const char * |
name, |
|
|
const float * |
matrix4x4 |
|
) |
| |
- Parameters
-
name | Matrix uniform name. |
matrix4x4 | Contents of Matrix44. |
void ae3d::Shader::SetRenderTexture |
( |
const char * |
name, |
|
|
class RenderTexture * |
renderTexture, |
|
|
int |
textureUnit |
|
) |
| |
- Parameters
-
name | Texture uniform name. |
renderTexture | RenderTexture. |
textureUnit | Texture unit. |
void ae3d::Shader::SetTexture |
( |
const char * |
name, |
|
|
class Texture2D * |
texture, |
|
|
int |
textureUnit |
|
) |
| |
- Parameters
-
name | Texture uniform name. |
texture | Texture. |
textureUnit | Texture unit. |
void ae3d::Shader::SetTexture |
( |
const char * |
name, |
|
|
class TextureCube * |
texture, |
|
|
int |
textureUnit |
|
) |
| |
- Parameters
-
name | Texture uniform name. |
texture | Texture. |
textureUnit | Texture unit. |
void ae3d::Shader::SetVector3 |
( |
const char * |
name, |
|
|
const float * |
vec3 |
|
) |
| |
- Parameters
-
name | Vector uniform name. |
vec3 | Vec3 contents. |
void ae3d::Shader::SetVector4 |
( |
const char * |
name, |
|
|
const float * |
vec4 |
|
) |
| |
- Parameters
-
name | Vector uniform name. |
vec4 | Vec4 contents. |
The documentation for this class was generated from the following file: