--- ---
|
TGUI 1.x-dev
|
Render target implementation that uses SDL3's GPU API. More...
#include <TGUI/Backend/Renderer/SDL_GPU/BackendRenderTargetSDLGPU.hpp>
Classes | |
| struct | DrawCommand |
Public Member Functions | |
| BackendRenderTargetSDLGPU (SDL_GPUDevice *device, SDL_GPUTextureFormat swapchainTextureFormat) | |
| Constructor. | |
| ~BackendRenderTargetSDLGPU () | |
| Descructor. | |
| void | setClearColor (const Color &color) override |
| Select the color that will be used by clearScreen. | |
| void | clearScreen () override |
| Clears the screen, called at the beginning of each frame when gui.mainLoop() is called. | |
| void | setView (FloatRect view, FloatRect viewport, Vector2f targetSize) override |
| Informs the render target about which part of the window is used for rendering. | |
| void | drawGui (const std::shared_ptr< RootContainer > &) override |
| This function is not used by this backend, use drawGui(SDL_GPURenderPass*) instead. | |
| bool | prepareDrawGui (const std::shared_ptr< RootContainer > &root, SDL_GPUCommandBuffer *cmdBuffer, SDL_GPUCopyPass *copyPass=nullptr) |
| Prepares drawing the gui and all of its widgets. | |
| void | drawGui (SDL_GPURenderPass *renderPass) |
| Draws the gui and all of its widgets. | |
| void | drawVertexArray (const RenderStates &states, const Vertex *vertices, std::size_t vertexCount, const unsigned int *indices, std::size_t indexCount, const std::shared_ptr< BackendTexture > &texture) override |
| Draws a vertex array. This is called by the other draw functions. | |
| Public Member Functions inherited from tgui::BackendRenderTarget | |
| BackendRenderTarget (const BackendRenderTarget &)=delete | |
| BackendRenderTarget (BackendRenderTarget &&)=delete | |
| BackendRenderTarget & | operator= (const BackendRenderTarget &)=delete |
| BackendRenderTarget & | operator= (BackendRenderTarget &&)=delete |
| BackendRenderTarget ()=default | |
| Default constructor. | |
| virtual | ~BackendRenderTarget ()=default |
| Virtual destructor. | |
| virtual void | drawWidget (const RenderStates &states, const std::shared_ptr< Widget > &widget) |
| Draws a widget, if the widget is visible. | |
| virtual void | addClippingLayer (const RenderStates &states, FloatRect rect) |
| Adds another clipping region. | |
| virtual void | removeClippingLayer () |
| Removes the last added clipping region. | |
| virtual void | drawBorders (const RenderStates &states, const Borders &borders, Vector2f size, Color color) |
| Draws borders inside a provided rectangle. | |
| virtual void | drawFilledRect (const RenderStates &states, Vector2f size, Color color) |
| Draws a colored rectangle. | |
| virtual void | drawSprite (const RenderStates &states, const Sprite &sprite) |
| Draws a texture. | |
| virtual void | drawText (const RenderStates &states, const Text &text) |
| Draws some text. | |
| virtual void | drawTextOutline (const RenderStates &states, const Text &text) |
| Draws only the outline of some text. | |
| virtual void | drawTextWithoutOutline (const RenderStates &states, const Text &text) |
| Draws some text, but without rendering its outline. | |
| virtual void | drawTriangle (const RenderStates &states, const Vertex &point1, const Vertex &point2, const Vertex &point3) |
| Draws a single triangles (using the color that is specified in the vertices) | |
| virtual void | drawCircle (const RenderStates &states, float size, const Color &backgroundColor, float borderThickness=0, const Color &borderColor={}) |
| Draws a circle. | |
| virtual void | drawRoundedRectangle (const RenderStates &states, const Vector2f &size, const Color &backgroundColor, float radius, const Borders &borders={0}, const Color &borderColor=Color::Black) |
| Draws a rounded rectangle. | |
| Vector2f | getPixelsPerPoint () const |
| Returns the current mapping between the screen pixels and the points in the current view. | |
Protected Member Functions | |
| void | updateClipping (FloatRect clipRect, FloatRect clipViewport) override |
| Called from addClippingLayer and removeClippingLayer to apply the clipping. | |
Protected Attributes | |
| SDL_GPUDevice * | m_device = nullptr |
| SDL_GPUGraphicsPipeline * | m_pipeline = nullptr |
| SDL_GPUSampler * | m_samplerNearest = nullptr |
| SDL_GPUSampler * | m_samplerLinear = nullptr |
| std::unique_ptr< BackendTextureSDLGPU > | m_emptyTexture |
| Transform | m_projectionTransform |
| std::vector< Vertex > | m_vertices |
| std::vector< unsigned int > | m_indices |
| SDL_Rect | m_clipRect |
| std::vector< DrawCommand > | m_drawCommands |
| SDL_GPUBuffer * | m_vertexBuffer = nullptr |
| SDL_GPUBuffer * | m_indexBuffer = nullptr |
| Protected Attributes inherited from tgui::BackendRenderTarget | |
| FloatRect | m_viewRect |
| FloatRect | m_viewport |
| Vector2f | m_targetSize |
| std::vector< std::pair< FloatRect, FloatRect > > | m_clipLayers |
| Vector2f | m_pixelsPerPoint = {1, 1} |
Render target implementation that uses SDL3's GPU API.
| tgui::BackendRenderTargetSDLGPU::BackendRenderTargetSDLGPU | ( | SDL_GPUDevice * | device, |
| SDL_GPUTextureFormat | swapchainTextureFormat ) |
Constructor.
| device | Device used for rendering |
| swapchainTextureFormat | Texture format returned by SDL_GetGPUSwapchainTextureFormat(device, window) |
|
overridevirtual |
Clears the screen, called at the beginning of each frame when gui.mainLoop() is called.
Implements tgui::BackendRenderTarget.
|
inlineoverridevirtual |
This function is not used by this backend, use drawGui(SDL_GPURenderPass*) instead.
Implements tgui::BackendRenderTarget.
| void tgui::BackendRenderTargetSDLGPU::drawGui | ( | SDL_GPURenderPass * | renderPass | ) |
Draws the gui and all of its widgets.
| root | Root container that holds all widgets in the gui |
| cmdBuffer | Command buffer to add rendering instructions to |
| renderPass | Active render pass |
|
overridevirtual |
Draws a vertex array. This is called by the other draw functions.
| states | Render states to use for drawing |
| vertices | Pointer to first element in array of vertices |
| vertexCount | Amount of elements in the vertex array |
| indices | Pointer to first element in array of indices |
| indexCount | Amount of elements in the indices array |
| texture | Texture to use, or nullptr when drawing colored triangles |
Implements tgui::BackendRenderTarget.
| bool tgui::BackendRenderTargetSDLGPU::prepareDrawGui | ( | const std::shared_ptr< RootContainer > & | root, |
| SDL_GPUCommandBuffer * | cmdBuffer, | ||
| SDL_GPUCopyPass * | copyPass = nullptr ) |
Prepares drawing the gui and all of its widgets.
| root | Root container that holds all widgets in the gui |
| cmdBuffer | Command buffer to add rendering instructions to |
| copyPass | Optional active copy pass |
|
overridevirtual |
Select the color that will be used by clearScreen.
| color | Background color of the window |
Implements tgui::BackendRenderTarget.
|
overridevirtual |
Informs the render target about which part of the window is used for rendering.
| view | Defines which part of the gui is being shown |
| viewport | Defines which part of the window is being rendered to |
| targetSize | Size of the window |
Reimplemented from tgui::BackendRenderTarget.
|
overrideprotectedvirtual |
Called from addClippingLayer and removeClippingLayer to apply the clipping.
| clipRect | View rectangle to apply |
| clipViewport | Viewport to apply |
Both rectangles may be empty when nothing that will be drawn is going to be visible.
Implements tgui::BackendRenderTarget.