SDLPainter 0.1.0
QPainter benzeri SDL3 + OpenGL/Vulkan 2D çizim kütüphanesi
Yüklüyor...
Arıyor...
Eşleşme Yok
sdl_painter::IRenderer Sınıf Referansabstract

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).

Ayrıntılı tanımlama

Backend-agnostik soyut renderer arayüzü.

OpenGL ve Vulkan implementasyonları bu arayüzü uygular. Painter, IRenderer üzerinden çalışır — backend detaylarını bilmez.


Bu sınıf için dokümantasyon aşağıdaki dosyadan üretilmiştir: