|
KiCad PCB EDA Suite
|
GPU geometry of one frame, built by GAL_MODERN after EndDrawing() and passed through the FRAME_MAILBOX. More...
#include <frame_packet.h>
Public Member Functions | |
| bool | HasGeometry () const |
Public Attributes | |
| RHI_LINE_PIPELINE_KIND | linePipelineKind = RHI_LINE_PIPELINE_KIND::PCB_TRACKS |
| std::array< RHI_BufferHandle, RHI_SHAPES > | buffer |
| Each shape's buffer, normal elements before negatives. | |
| RHI_SHAPE_COUNTS | count {} |
| RHI_SHAPE_COUNTS | negCount {} |
| std::vector< BITMAP_DRAW_DESC > | bitmapDraws |
| std::vector< LAYER_RANGE > | layerRanges |
| std::vector< POLARITY_RUN > | polarityRuns |
| bool | drawGrid = false |
| bool | drawCursor = false |
| bool | reuseStaticFBO = false |
| bool | reuseDynamicFBO = false |
| bool | gridFirst = false |
| Draw the grid before the layers instead of over them. | |
| bool | relativeDepth = false |
| Element depth is relative to its layer's slice in LAYER_RANGE::depthNear, and the projection scales depth to RELATIVE_DEPTH_RANGE. | |
| bool | testAgainstStatic = false |
| Slices share the static target's layer order mapping, so this target can be depth tested against a copy of the static depth. | |
| uint32_t | supersampleFactor = 1 |
| Layer FBO scale that the present blit downsamples. | |
| uint64_t | bufferGeneration = 0 |
| Generation of the producer's buffers this descriptor was built from. | |
| float | backgroundColor [4] = { 1.0f, 1.0f, 1.0f, 1.0f } |
| FRAME_UBO_DATA | frameUBO |
| GRID_UBO_DATA | gridUBO |
| CURSOR_UBO_DATA | cursorUBO |
Static Public Attributes | |
| static constexpr float | RELATIVE_DEPTH_RANGE = 16.0f |
| Largest depth offset an element can have from its layer when relativeDepth is set. | |
GPU geometry of one frame, built by GAL_MODERN after EndDrawing() and passed through the FRAME_MAILBOX.
Its buffers are already uploaded.
Definition at line 265 of file frame_packet.h.
|
inline |
Definition at line 324 of file frame_packet.h.
References bitmapDraws, and count.
Referenced by KIGFX::RENDER_THREAD::RenderWindow().
| float KIGFX::FRAME_DRAW_DESC::backgroundColor[4] = { 1.0f, 1.0f, 1.0f, 1.0f } |
Definition at line 318 of file frame_packet.h.
Referenced by KIGFX::GAL_MODERN::GetDynamicDrawDesc(), KIGFX::GAL_MODERN::GetStaticDrawDesc(), KIGFX::RENDER_THREAD::ReadbackWindowPixels(), and KIGFX::RENDER_THREAD::RenderWindow().
| std::vector<BITMAP_DRAW_DESC> KIGFX::FRAME_DRAW_DESC::bitmapDraws |
Definition at line 276 of file frame_packet.h.
Referenced by appendBitmapDraws(), KIGFX::GAL_MODERN::appendSceneRanges(), KIGFX::GAL_MODERN::GetDynamicDrawDesc(), HasGeometry(), KIGFX::RENDER_THREAD::RenderGeometryInto(), and KIGFX::RENDER_THREAD::RenderWindow().
| std::array<RHI_BufferHandle, RHI_SHAPES> KIGFX::FRAME_DRAW_DESC::buffer |
Each shape's buffer, normal elements before negatives.
Definition at line 272 of file frame_packet.h.
Referenced by buildDescForPool(), and KIGFX::RENDER_THREAD::RenderGeometryInto().
| uint64_t KIGFX::FRAME_DRAW_DESC::bufferGeneration = 0 |
Generation of the producer's buffers this descriptor was built from.
Definition at line 316 of file frame_packet.h.
Referenced by KIGFX::GAL_MODERN::GetDynamicDrawDesc(), and KIGFX::GAL_MODERN::GetStaticDrawDesc().
| RHI_SHAPE_COUNTS KIGFX::FRAME_DRAW_DESC::count {} |
Definition at line 273 of file frame_packet.h.
Referenced by appendPoolRanges(), KIGFX::GAL_MODERN::appendSceneRanges(), buildDescForPool(), KIGFX::GAL_MODERN::GetDrawDesc(), HasGeometry(), KIGFX::RENDER_THREAD::RenderGeometryInto(), and KIGFX::RENDER_THREAD::RenderWindow().
| CURSOR_UBO_DATA KIGFX::FRAME_DRAW_DESC::cursorUBO |
Definition at line 322 of file frame_packet.h.
Referenced by KIGFX::GAL_MODERN::PopulateCursorUBO(), and KIGFX::RENDER_THREAD::prepareCursor().
| bool KIGFX::FRAME_DRAW_DESC::drawCursor = false |
Definition at line 281 of file frame_packet.h.
Referenced by KIGFX::GAL_MODERN::GetDynamicDrawDesc(), KIGFX::GAL_MODERN::PopulateCursorUBO(), KIGFX::RENDER_THREAD::prepareCursor(), and KIGFX::RENDER_THREAD::RenderGeometryInto().
| bool KIGFX::FRAME_DRAW_DESC::drawGrid = false |
Definition at line 280 of file frame_packet.h.
Referenced by KIGFX::GAL_MODERN::GetDynamicDrawDesc(), KIGFX::GAL_MODERN::GetStaticDrawDesc(), planMarginTarget(), KIGFX::RENDER_THREAD::RenderGeometryInto(), and KIGFX::RENDER_THREAD::RenderWindow().
| FRAME_UBO_DATA KIGFX::FRAME_DRAW_DESC::frameUBO |
Definition at line 320 of file frame_packet.h.
Referenced by planMarginTarget(), KIGFX::GAL_MODERN::PopulateCameraUBOs(), KIGFX::RENDER_THREAD::RenderGeometryInto(), and KIGFX::RENDER_THREAD::RenderWindow().
| bool KIGFX::FRAME_DRAW_DESC::gridFirst = false |
Draw the grid before the layers instead of over them.
Definition at line 288 of file frame_packet.h.
Referenced by KIGFX::GAL_MODERN::GetStaticDrawDesc(), and KIGFX::RENDER_THREAD::RenderGeometryInto().
| GRID_UBO_DATA KIGFX::FRAME_DRAW_DESC::gridUBO |
Definition at line 321 of file frame_packet.h.
Referenced by planMarginTarget(), KIGFX::GAL_MODERN::PopulateCameraUBOs(), and KIGFX::RENDER_THREAD::RenderGeometryInto().
| std::vector<LAYER_RANGE> KIGFX::FRAME_DRAW_DESC::layerRanges |
Definition at line 277 of file frame_packet.h.
Referenced by KIGFX::GAL_MODERN::appendSceneRanges(), buildDescForPool(), KIGFX::GAL_MODERN::GetDrawDesc(), KIGFX::GAL_MODERN::GetDynamicDrawDesc(), KIGFX::GAL_MODERN::GetStaticDrawDesc(), KIGFX::RENDER_THREAD::RenderGeometryInto(), and KIGFX::RENDER_THREAD::RenderWindow().
| RHI_LINE_PIPELINE_KIND KIGFX::FRAME_DRAW_DESC::linePipelineKind = RHI_LINE_PIPELINE_KIND::PCB_TRACKS |
Definition at line 267 of file frame_packet.h.
Referenced by EDA_DRAW_PANEL_GAL::DoRePaint(), and KIGFX::RENDER_THREAD::RenderGeometryInto().
| RHI_SHAPE_COUNTS KIGFX::FRAME_DRAW_DESC::negCount {} |
Definition at line 274 of file frame_packet.h.
Referenced by appendPoolRanges(), KIGFX::GAL_MODERN::appendSceneRanges(), buildDescForPool(), KIGFX::GAL_MODERN::GetDrawDesc(), KIGFX::RENDER_THREAD::RenderGeometryInto(), and KIGFX::RENDER_THREAD::RenderWindow().
| std::vector<POLARITY_RUN> KIGFX::FRAME_DRAW_DESC::polarityRuns |
Definition at line 278 of file frame_packet.h.
Referenced by appendPoolRanges(), KIGFX::GAL_MODERN::appendSceneRanges(), buildDescForPool(), and KIGFX::RENDER_THREAD::RenderGeometryInto().
|
staticconstexpr |
Largest depth offset an element can have from its layer when relativeDepth is set.
Definition at line 305 of file frame_packet.h.
Referenced by KIGFX::GAL_MODERN::PopulateCameraUBOs(), and relativeDepth().
| bool KIGFX::FRAME_DRAW_DESC::relativeDepth = false |
Element depth is relative to its layer's slice in LAYER_RANGE::depthNear, and the projection scales depth to RELATIVE_DEPTH_RANGE.
Definition at line 294 of file frame_packet.h.
Referenced by KIGFX::GAL_MODERN::appendSceneRanges(), KIGFX::GAL_MODERN::GetDynamicDrawDesc(), and KIGFX::GAL_MODERN::PopulateCameraUBOs().
| bool KIGFX::FRAME_DRAW_DESC::reuseDynamicFBO = false |
Definition at line 283 of file frame_packet.h.
Referenced by KIGFX::RENDER_THREAD::RenderWindow().
| bool KIGFX::FRAME_DRAW_DESC::reuseStaticFBO = false |
Definition at line 282 of file frame_packet.h.
Referenced by KIGFX::RENDER_THREAD::RenderWindow().
| uint32_t KIGFX::FRAME_DRAW_DESC::supersampleFactor = 1 |
Layer FBO scale that the present blit downsamples.
Values other than 1 are ignored unless the window's FBOs are sized to match.
Definition at line 311 of file frame_packet.h.
Referenced by ApplyAntialiasingMode(), and EDA_DRAW_PANEL_GAL::DoRePaint().
| bool KIGFX::FRAME_DRAW_DESC::testAgainstStatic = false |
Slices share the static target's layer order mapping, so this target can be depth tested against a copy of the static depth.
Definition at line 300 of file frame_packet.h.
Referenced by KIGFX::GAL_MODERN::GetDynamicDrawDesc(), and KIGFX::RENDER_THREAD::RenderGeometryInto().