Class attribute¶
Defined in File shader.hpp
Inheritance Relationships¶
Base Type¶
public legion::rendering::shader_parameter_base
(Class shader_parameter_base)
Class Documentation¶
-
class
legion::rendering
::
attribute
: public legion::rendering::shader_parameter_base¶ Shader parameter that represents an attribute.
Public Functions
-
inline
attribute
(id_type shaderId, std::string_view name, GLenum type, GLint location)¶
-
inline void
set_attribute_pointer
(GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLsizei pointer)¶ Attach the currently bound array buffer to this attribute.
- Parameters
size
: Number of components in the data tensor (1: r, 2: rg, 3: rgb, 4: rgba).type
: Data type of the components in the tensor.normalized
: Normalize the tensors before sending to VRAM.stride
: Amount of bytes in-between valid data chunks.pointer
: Amount of bytes until the first valid data chunk.
-
inline void
disable_attribute_pointer
()¶ Disable the attribute after you’re done with it. Leaving it enabled can cause performance issues due to limiting the GPU to move and reallocate it’s VRAM.
-
inline void
set_divisor
(uint offset, uint divisor)¶ Set an interval between the iteration increments of the array.
- Parameters
offset
: Offset for the targeting location (0: vector or matrix row0, 1: matrix row1, 2: matrix row2… etc.).divisor
: Amount of instances between each iteration increment. 0 means the iteration will increment for each vertex.
-
inline