Blender
V3.3
|
#include <gpu_immediate_private.hh>
Public Member Functions | |
Immediate () | |
virtual | ~Immediate () |
virtual uchar * | begin ()=0 |
virtual void | end ()=0 |
Public Attributes | |
uchar * | vertex_data = nullptr |
uint | vertex_idx = 0 |
uint | vertex_len = 0 |
uint16_t | unassigned_attr_bits = 0 |
uint16_t | enabled_attr_bits = 0 |
GPUPrimType | prim_type = GPU_PRIM_NONE |
GPUVertFormat | vertex_format = {} |
GPUShader * | shader = nullptr |
bool | strict_vertex_len = true |
GPUBatch * | batch = nullptr |
eGPUBuiltinShader | prev_builtin_shader = GPU_SHADER_TEXT |
eGPUBuiltinShader | builtin_shader_bound = GPU_SHADER_TEXT |
float | uniform_color [4] |
Definition at line 19 of file gpu_immediate_private.hh.
|
inline |
Definition at line 52 of file gpu_immediate_private.hh.
|
inlinevirtual |
Definition at line 53 of file gpu_immediate_private.hh.
|
pure virtual |
Implemented in blender::gpu::GLImmediate.
Referenced by immBegin().
|
pure virtual |
Implemented in blender::gpu::GLImmediate.
Referenced by immEnd().
GPUBatch* blender::gpu::Immediate::batch = nullptr |
Batch in construction when using immBeginBatch.
Definition at line 40 of file gpu_immediate_private.hh.
Referenced by immBeginBatch(), and immEnd().
eGPUBuiltinShader blender::gpu::Immediate::builtin_shader_bound = GPU_SHADER_TEXT |
Builtin shader index. Used to test if the workaround can be done.
Definition at line 47 of file gpu_immediate_private.hh.
Referenced by immBindBuiltinProgram(), immBindShader(), and wide_line_workaround_start().
uint16_t blender::gpu::Immediate::enabled_attr_bits = 0 |
Attributes that needs to be set. One bit per attribute.
Definition at line 30 of file gpu_immediate_private.hh.
Referenced by immBegin(), immBeginBatch(), immBindShader(), and immEndVertex().
eGPUBuiltinShader blender::gpu::Immediate::prev_builtin_shader = GPU_SHADER_TEXT |
Wide Line workaround. Previously bound shader to restore after drawing.
Definition at line 45 of file gpu_immediate_private.hh.
Referenced by wide_line_workaround_end(), and wide_line_workaround_start().
GPUPrimType blender::gpu::Immediate::prim_type = GPU_PRIM_NONE |
Current draw call specification.
Definition at line 33 of file gpu_immediate_private.hh.
Referenced by blender::gpu::GLImmediate::end(), immAttr1f(), immAttr1u(), immAttr2f(), immAttr2i(), immAttr2s(), immAttr3f(), immAttr3ub(), immAttr4f(), immAttr4ub(), immAttrSkip(), immBegin(), immBeginBatch(), immEnd(), and immEndVertex().
GPUShader* blender::gpu::Immediate::shader = nullptr |
Definition at line 35 of file gpu_immediate_private.hh.
Referenced by blender::gpu::GLImmediate::end(), immBindShader(), immBindTexture(), immBindTextureSampler(), immBindUniformBuf(), immEnd(), immGetShader(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniform2fv(), immUniform3f(), immUniform3fv(), immUniform4f(), immUniform4fv(), immUniformArray4fv(), immUniformColor4f(), and immUniformMatrix4fv().
bool blender::gpu::Immediate::strict_vertex_len = true |
Enforce strict vertex count (disabled when using immBeginAtMost).
Definition at line 37 of file gpu_immediate_private.hh.
Referenced by blender::gpu::GLImmediate::begin(), blender::gpu::GLImmediate::end(), immBeginAtMost(), immBeginBatchAtMost(), and immEnd().
uint16_t blender::gpu::Immediate::unassigned_attr_bits = 0 |
Which attributes of current vertex have not been given values?
Definition at line 28 of file gpu_immediate_private.hh.
Referenced by immBegin(), immBeginBatch(), immEndVertex(), and setAttrValueBit().
float blender::gpu::Immediate::uniform_color[4] |
Uniform color: Kept here to update the wide-line shader just before immBegin.
Definition at line 49 of file gpu_immediate_private.hh.
Referenced by immUniformColor4f(), and wide_line_workaround_start().
uchar* blender::gpu::Immediate::vertex_data = nullptr |
Pointer to the mapped buffer data for the current vertex.
Definition at line 22 of file gpu_immediate_private.hh.
Referenced by immAttr1f(), immAttr1u(), immAttr2f(), immAttr2i(), immAttr2s(), immAttr3f(), immAttr3ub(), immAttr4f(), immAttr4ub(), immBegin(), immBeginBatch(), immEnd(), and immEndVertex().
GPUVertFormat blender::gpu::Immediate::vertex_format = {} |
Definition at line 34 of file gpu_immediate_private.hh.
Referenced by blender::gpu::GLImmediate::begin(), blender::gpu::GLImmediate::end(), immAttr1f(), immAttr1u(), immAttr2f(), immAttr2i(), immAttr2s(), immAttr3f(), immAttr3ub(), immAttr4f(), immAttr4ub(), immBeginBatch(), immBindShader(), immEndVertex(), and immVertexFormat().
uint blender::gpu::Immediate::vertex_idx = 0 |
Current vertex index.
Definition at line 24 of file gpu_immediate_private.hh.
Referenced by blender::gpu::GLImmediate::end(), immAttr1f(), immAttr1u(), immAttr2f(), immAttr2i(), immAttr2s(), immAttr3f(), immAttr3ub(), immAttr4f(), immAttr4ub(), immAttrSkip(), immBegin(), immBeginBatch(), immEnd(), and immEndVertex().
uint blender::gpu::Immediate::vertex_len = 0 |
Length of the buffer in vertices.
Definition at line 26 of file gpu_immediate_private.hh.
Referenced by blender::gpu::GLImmediate::begin(), blender::gpu::GLImmediate::end(), immAttr1f(), immAttr1u(), immAttr2f(), immAttr2i(), immAttr2s(), immAttr3f(), immAttr3ub(), immAttr4f(), immAttr4ub(), immAttrSkip(), immBegin(), immBeginBatch(), immEnd(), and immEndVertex().