A program.
More...
#include <Program.h>
Inherits Object.
Inherited by ProgramImpl, ProgramImpl, ProgramImpl, ProgramImpl, and ProgramImpl.
|
| virtual UniformLocation | getUniformLocation (std::string_view uniform) const =0 |
| | Get uniform location by name.
|
| virtual UniformLocation | getUniformLocation (rhi::Uniform name) const =0 |
| | Get uniform location by engine built-in uniform enum name.
|
| virtual const VertexInputDesc * | getVertexInputDesc (std::string_view name) const =0 |
| | Get attribute location by attribute name.
|
| virtual const VertexInputDesc * | getVertexInputDesc (rhi::VertexInputKind name) const =0 |
| | Get attribute location by engine built-in attribute enum name.
|
| virtual int | getMaxVertexLocation () const =0 |
| | Get maximum vertex location.
|
| virtual int | getMaxFragmentLocation () const =0 |
| | Get maximum fragment location.
|
| virtual const tlx::string_map< VertexInputDesc > & | getActiveVertexInputs () const =0 |
| | Get active vertex attributes.
|
| std::string_view | getVertexShaderSource () const |
| | Get vertex shader.
|
| std::string_view | getFragmentShaderSource () const |
| | Get fragment shader.
|
| uint32_t | getProgramType () const |
| | Get engine built-in program type.
|
| uint64_t | getProgramId () const |
| | Get program id.
|
| virtual std::size_t | getUniformBufferSize (ShaderStage stage) const =0 |
| | Get uniform buffer size in bytes that can hold all the uniforms.
|
| virtual const tlx::string_map< UniformInfo > & | getActiveUniformInfos (ShaderStage stage) const =0 |
| | Get all uniformInfos.
|
| void | retain () |
| | Retains the ownership.
|
| void | release () |
| | Releases the ownership immediately.
|
| Object * | autorelease () |
| | Releases the ownership sometime soon automatically.
|
| unsigned int | getReferenceCount () const |
| | Returns the Object's current reference count.
|
| virtual | ~Object () |
| | Destructor.
|
|
|
unsigned int | _ID |
| | object id, ScriptSupport need public _ID
|
|
int | _luaID |
| | Lua reference id.
|
◆ getUniformLocation() [1/2]
| virtual UniformLocation getUniformLocation |
( |
std::string_view | uniform | ) |
const |
|
pure virtual |
◆ getUniformLocation() [2/2]
| virtual UniformLocation getUniformLocation |
( |
rhi::Uniform | name | ) |
const |
|
pure virtual |
◆ getVertexInputDesc() [1/2]
| virtual const VertexInputDesc * getVertexInputDesc |
( |
std::string_view | name | ) |
const |
|
pure virtual |
◆ getVertexInputDesc() [2/2]
| virtual const VertexInputDesc * getVertexInputDesc |
( |
rhi::VertexInputKind | name | ) |
const |
|
pure virtual |
◆ getMaxVertexLocation()
| virtual int getMaxVertexLocation |
( |
| ) |
const |
|
pure virtual |
◆ getMaxFragmentLocation()
| virtual int getMaxFragmentLocation |
( |
| ) |
const |
|
pure virtual |
◆ getActiveVertexInputs()
| virtual const tlx::string_map< VertexInputDesc > & getActiveVertexInputs |
( |
| ) |
const |
|
pure virtual |
◆ getVertexShaderSource()
| std::string_view getVertexShaderSource |
( |
| ) |
const |
|
inline |
Get vertex shader.
- Returns
- Vertex shader.
◆ getFragmentShaderSource()
| std::string_view getFragmentShaderSource |
( |
| ) |
const |
|
inline |
Get fragment shader.
@ Fragment shader.
◆ getProgramType()
| uint32_t getProgramType |
( |
| ) |
const |
|
inline |
Get engine built-in program type.
- Returns
- The built-in program type.
◆ getProgramId()
| uint64_t getProgramId |
( |
| ) |
const |
|
inline |
Get program id.
- Returns
- The program id.
◆ getUniformBufferSize()
| virtual std::size_t getUniformBufferSize |
( |
ShaderStage | stage | ) |
const |
|
pure virtual |
Get uniform buffer size in bytes that can hold all the uniforms.
- Parameters
-
| stage | Specifies the shader stage. The symbolic constant can be either VERTEX or FRAGMENT. |
- Returns
- The uniform buffer size in bytes.
Implemented in ProgramImpl, ProgramImpl, ProgramImpl, ProgramImpl, and ProgramImpl.
◆ getActiveUniformInfos()
| virtual const tlx::string_map< UniformInfo > & getActiveUniformInfos |
( |
ShaderStage | stage | ) |
const |
|
pure virtual |
The documentation for this class was generated from the following file: