|
Blender V5.0
|
#include <gl_immediate.hh>
Inherits blender::gpu::Immediate.
Public Member Functions | |
Creation & Deletion | |
| GLImmediate () | |
| ~GLImmediate () | |
Buffer management | |
| uchar * | begin () override |
| void | end () override |
| Public Member Functions inherited from blender::gpu::Immediate | |
| Immediate ()=default | |
| virtual | ~Immediate ()=default |
| void | polyline_draw_workaround (uint64_t offset) |
Additional Inherited Members | |
| Public Attributes inherited from blender::gpu::Immediate | |
| 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 = {} |
| gpu::Shader * | shader = nullptr |
| bool | strict_vertex_len = true |
| Batch * | batch = nullptr |
| std::optional< GPUBuiltinShader > | prev_builtin_shader |
| std::optional< GPUBuiltinShader > | builtin_shader_bound |
| float | uniform_color [4] |
Definition at line 22 of file gl_immediate.hh.
| blender::gpu::GLImmediate::GLImmediate | ( | ) |
Definition at line 30 of file gl_immediate.cc.
References blender::gpu::DEFAULT_INTERNAL_BUFFER_SIZE, and blender::gpu::debug::object_label().
| blender::gpu::GLImmediate::~GLImmediate | ( | ) |
Definition at line 53 of file gl_immediate.cc.
|
overridevirtual |
Implements blender::gpu::Immediate.
Definition at line 67 of file gl_immediate.cc.
References BLI_assert, blender::gpu::GLContext::bound_ssbo_slots, buffer_offset, buffer_size, ceil_to_multiple_u(), data, blender::gpu::DEFAULT_INTERNAL_BUFFER_SIZE, blender::gpu::GLContext::get(), GL_CHECK_RESOURCES, GPU_SSBO_INDEX_BUF_SLOT, GPU_SSBO_POLYLINE_COL_BUF_SLOT, GPU_SSBO_POLYLINE_POS_BUF_SLOT, GPU_storage_buffer_alignment(), padding(), blender::gpu::Immediate::shader, blender::gpu::Immediate::strict_vertex_len, vbo_id, vertex_buffer_size(), blender::gpu::Immediate::vertex_format, and blender::gpu::Immediate::vertex_len.
|
overridevirtual |
Implements blender::gpu::Immediate.
Definition at line 138 of file gl_immediate.cc.
References blender::gpu::StateManager::apply_state(), BLI_assert, blender::gpu::GLContext::bound_ssbo_slots, buffer_offset, blender::gpu::GLContext::get(), GPU_PRIM_NONE, GPU_shader_bind(), GPU_SSBO_INDEX_BUF_SLOT, GPU_SSBO_POLYLINE_COL_BUF_SLOT, GPU_SSBO_POLYLINE_POS_BUF_SLOT, blender::gpu::Immediate::polyline_draw_workaround(), blender::gpu::Immediate::prim_type, blender::gpu::Immediate::shader, blender::gpu::Context::state_manager, blender::gpu::Immediate::strict_vertex_len, blender::gpu::to_gl(), blender::gpu::GLVertArray::update_bindings(), vbo_id, vertex_buffer_size(), blender::gpu::Immediate::vertex_format, blender::gpu::Immediate::vertex_idx, and blender::gpu::Immediate::vertex_len.
| size_t blender::gpu::GLImmediate::buffer_offset = 0 |
Offset of the mapped data in data.
Definition at line 31 of file gl_immediate.hh.
| size_t blender::gpu::GLImmediate::buffer_size = 0 |
Size of the whole buffer in bytes.
Definition at line 33 of file gl_immediate.hh.
Referenced by begin().
| GLuint blender::gpu::GLImmediate::vbo_id = 0 |
Opengl Handle for this buffer.
Definition at line 29 of file gl_immediate.hh.