KiCad PCB EDA Suite
|
#include <gpu_manager.h>
Public Member Functions | |
GPU_NONCACHED_MANAGER (VERTEX_CONTAINER *aContainer) | |
Prepare the stored data to be drawn. | |
virtual void | BeginDrawing () override |
Make the GPU draw given range of vertices. | |
virtual void | DrawIndices (const VERTEX_ITEM *aItem) override |
Clear the container after drawing routines. | |
virtual void | EndDrawing () override |
Clear the container after drawing routines. | |
virtual void | SetShader (SHADER &aShader) |
Allow using shaders with the stored data. | |
void | EnableDepthTest (bool aEnabled) |
Enable/disable Z buffer depth test. | |
Static Public Member Functions | |
static GPU_MANAGER * | MakeManager (VERTEX_CONTAINER *aContainer) |
Protected Attributes | |
bool | m_isDrawing |
Container that stores vertices data. | |
VERTEX_CONTAINER * | m_container |
Shader handling. | |
SHADER * | m_shader |
Location of shader attributes (for glVertexAttribPointer) | |
int | m_shaderAttrib |
true: enable Z test when drawing | |
bool | m_enableDepthTest |
Definition at line 169 of file gpu_manager.h.
GPU_NONCACHED_MANAGER::GPU_NONCACHED_MANAGER | ( | VERTEX_CONTAINER * | aContainer | ) |
Prepare the stored data to be drawn.
Definition at line 258 of file gpu_manager.cpp.
|
overridevirtual |
Make the GPU draw given range of vertices.
aOffset | is the beginning of the range. |
aSize | is the number of vertices to be drawn. |
Implements KIGFX::GPU_MANAGER.
Definition at line 264 of file gpu_manager.cpp.
|
overridevirtual |
Clear the container after drawing routines.
Implements KIGFX::GPU_MANAGER.
Definition at line 270 of file gpu_manager.cpp.
|
inherited |
Enable/disable Z buffer depth test.
Definition at line 336 of file gpu_manager.cpp.
References KIGFX::GPU_MANAGER::m_enableDepthTest.
|
overridevirtual |
Clear the container after drawing routines.
Implements KIGFX::GPU_MANAGER.
Definition at line 276 of file gpu_manager.cpp.
References KIGFX::VERTEX_CONTAINER::Clear(), KIGFX::COLOR_OFFSET, KIGFX::COLOR_STRIDE, KIGFX::COORD_STRIDE, KIGFX::SHADER::Deactivate(), KIGFX::VERTEX_CONTAINER::GetAllVertices(), KIGFX::VERTEX_CONTAINER::GetSize(), KIGFX::GPU_MANAGER::m_container, KIGFX::GPU_MANAGER::m_enableDepthTest, KIGFX::GPU_MANAGER::m_shader, KIGFX::GPU_MANAGER::m_shaderAttrib, PROF_TIMER::msecs(), KIGFX::SHADER_OFFSET, KIGFX::SHADER_STRIDE, PROF_TIMER::Stop(), traceGalProfile, KIGFX::SHADER::Use(), and KIGFX::VERTEX_SIZE.
|
staticinherited |
Definition at line 48 of file gpu_manager.cpp.
References KIGFX::VERTEX_CONTAINER::IsCached().
Referenced by KIGFX::VERTEX_MANAGER::VERTEX_MANAGER().
|
virtualinherited |
Allow using shaders with the stored data.
aShader | is the object that allows using shaders. |
Definition at line 72 of file gpu_manager.cpp.
References DisplayError(), KIGFX::SHADER::GetAttribute(), KIGFX::GPU_MANAGER::m_shader, and KIGFX::GPU_MANAGER::m_shaderAttrib.
|
protectedinherited |
Shader handling.
Definition at line 89 of file gpu_manager.h.
Referenced by KIGFX::GPU_CACHED_MANAGER::EndDrawing(), and EndDrawing().
|
protectedinherited |
Definition at line 98 of file gpu_manager.h.
Referenced by KIGFX::GPU_MANAGER::EnableDepthTest(), KIGFX::GPU_CACHED_MANAGER::EndDrawing(), and EndDrawing().
|
protectedinherited |
Container that stores vertices data.
Definition at line 86 of file gpu_manager.h.
Referenced by KIGFX::GPU_CACHED_MANAGER::BeginDrawing(), KIGFX::GPU_CACHED_MANAGER::DrawIndices(), and KIGFX::GPU_CACHED_MANAGER::EndDrawing().
|
protectedinherited |
Location of shader attributes (for glVertexAttribPointer)
Definition at line 92 of file gpu_manager.h.
Referenced by KIGFX::GPU_CACHED_MANAGER::EndDrawing(), EndDrawing(), and KIGFX::GPU_MANAGER::SetShader().
|
protectedinherited |
true: enable Z test when drawing
Definition at line 95 of file gpu_manager.h.
Referenced by KIGFX::GPU_CACHED_MANAGER::EndDrawing(), EndDrawing(), and KIGFX::GPU_MANAGER::SetShader().