|
SDLPainter 0.1.0
QPainter benzeri SDL3 + OpenGL/Vulkan 2D çizim kütüphanesi
|
Backend-agnostik soyut renderer arayüzü. Ayrıntılar...
#include <renderer.h>
Public Üye Fonksiyonlar | |
| virtual bool | Initialize (SDL_Window *window)=0 |
| Renderer'ı verilen pencere için başlat. | |
| virtual void | Shutdown ()=0 |
| Kaynakları serbest bırak. | |
| virtual void | BeginFrame ()=0 |
| Yeni frame'e başla. | |
| virtual void | EndFrame ()=0 |
| Frame'i tamamla ve ekrana sun. | |
| virtual void | SetViewport (int32_t x, int32_t y, int32_t width, int32_t height)=0 |
| Viewport'u ayarla (piksel koordinatları). | |
| virtual void | SetScissor (int32_t x, int32_t y, int32_t width, int32_t height)=0 |
| Scissor (kırpma) dikdörtgeni ayarla. | |
| virtual void | ClearScissor ()=0 |
| Scissor kırpmasını kaldır. | |
| virtual void | Clear (const Color &color)=0 |
| Ekranı belirtilen renkle temizle. | |
| virtual void | SetOpacity (float alpha)=0 |
| Global opaklığı ayarla [0.0, 1.0]. | |
| virtual void | DrawTriangles (const std::vector< Vertex > &vertices)=0 |
| Üçgenler çiz. Vertex listesi 3'ün katı olmalı. Renk vertex'te taşınır. | |
| virtual TextureHandle | CreateTexture (const uint8_t *data, int32_t width, int32_t height, int32_t channels)=0 |
| Ham piksel verisinden texture oluştur. Başarısızlıkta kInvalidTexture döner. | |
| virtual void | DestroyTexture (TextureHandle handle)=0 |
| Texture'ı sil. | |
| virtual void | DrawTextured (const std::vector< TexturedVertex > &vertices, TextureHandle texture)=0 |
| Texture'lı vertex'leri çiz. Tint rengi vertex'te taşınır. | |
| virtual RendererBackend | GetBackend () const =0 |
| Backend tipini döndür — projeksiyon yönü için kullanılır. | |
| virtual void | SetProjectionMatrix (const float *mat4)=0 |
| Ortografik projeksiyon matrisini ayarla (4x4, sütun-major). | |
| virtual void | SetModelMatrix (const float *mat3)=0 |
| Model dönüşüm matrisini ayarla (3x3, sütun-major — glm::mat3 / glm::value_ptr düzeni). | |
Backend-agnostik soyut renderer arayüzü.
OpenGL ve Vulkan implementasyonları bu arayüzü uygular. Painter, IRenderer üzerinden çalışır — backend detaylarını bilmez.