Cleanup 2/2
This commit is contained in:
@ -24,7 +24,7 @@ namespace ia::iae
|
||||
struct GeometryVertex
|
||||
{
|
||||
Vec2 Position;
|
||||
Vec2 TexCoords;
|
||||
Vec4 TexCoords_Color;
|
||||
};
|
||||
|
||||
class RDC_Device
|
||||
|
||||
@ -32,11 +32,12 @@ namespace ia::iae
|
||||
};
|
||||
|
||||
public:
|
||||
RDC_Pipeline(IN SDL_GPUTextureFormat renderTargetFormat, IN CONST StageDesc &vertexStageDesc, IN CONST StageDesc &pixelStageDesc,
|
||||
RDC_Pipeline(IN SDL_GPUTextureFormat renderTargetFormat, IN CONST StageDesc &vertexStageDesc,
|
||||
IN CONST StageDesc &pixelStageDesc, IN SDL_GPUPrimitiveType primitiveType,
|
||||
IN BOOL enableVertexBuffer);
|
||||
~RDC_Pipeline();
|
||||
|
||||
VOID Bind(IN SDL_GPURenderPass* renderPass);
|
||||
VOID Bind(IN SDL_GPURenderPass *renderPass);
|
||||
|
||||
public:
|
||||
SDL_GPUGraphicsPipeline *GetHandle() CONST
|
||||
|
||||
@ -38,6 +38,7 @@ namespace ia::iae
|
||||
{
|
||||
public:
|
||||
STATIC CONSTEXPR INT32 MAX_SPRITE_COUNT = 100000;
|
||||
STATIC CONSTEXPR INT32 MAX_PRIMITIVE_COUNT = 100000;
|
||||
|
||||
public:
|
||||
STATIC VOID Initialize(IN IVec2 viewportExtent, IN SDL_Window *windowHandle, IN BOOL isDebugMode);
|
||||
@ -57,6 +58,9 @@ namespace ia::iae
|
||||
STATIC Vec2 DrawSpriteCentered(IN Handle image, IN INT32 tileIndexX, IN INT32 tileIndexY,
|
||||
IN Vec2 position, IN Vec2 scale, IN FLOAT32 rotation, IN BOOL flipH = false, IN BOOL flipV = false, IN Vec2 uvOffset = {});
|
||||
|
||||
STATIC VOID DrawLine(IN Vec2 start, IN Vec2 end, IN Vec4 color);
|
||||
STATIC VOID DrawRect(IN Vec2 start, IN Vec2 end, IN Vec4 color);
|
||||
|
||||
STATIC Handle CreateImage(IN PCUINT8 rgbaData, IN INT32 width, IN INT32 height, IN INT32 tileCountX = 1,
|
||||
IN INT32 tileCountY = 1);
|
||||
STATIC VOID DestroyImage(IN Handle image);
|
||||
@ -74,20 +78,29 @@ namespace ia::iae
|
||||
|
||||
private:
|
||||
STATIC Mat4 s_viewMatrix;
|
||||
STATIC IVec2 s_viewportExtent;
|
||||
STATIC Mat4 s_projectionMatrix;
|
||||
STATIC Vec2 s_cameraPosition;
|
||||
STATIC Handle s_quadGeometry;
|
||||
STATIC IVec2 s_viewportExtent;
|
||||
STATIC Mat4 s_projectionMatrix;
|
||||
STATIC SDL_Window *s_windowHandle;
|
||||
STATIC RDC_Texture* s_defaultTexture;
|
||||
|
||||
STATIC RDC_Pipeline *s_primitiveDrawPipeline;
|
||||
STATIC RDC_Pipeline *s_dynamicSpritePipeline;
|
||||
|
||||
STATIC SDL_GPUSampler *s_linearClampSampler;
|
||||
STATIC SDL_GPUSampler *s_linearRepeatSampler;
|
||||
STATIC RDC_TextureAtlas *s_staticSpriteAtlas;
|
||||
STATIC RDC_TextureAtlas *s_dynamicSpriteAtlas;
|
||||
|
||||
STATIC RDC_HostVisibleBuffer* s_primitiveInstanceBuffer;
|
||||
STATIC RDC_HostVisibleBuffer* s_staticSpriteInstanceBuffer;
|
||||
STATIC RDC_HostVisibleBuffer* s_dynamicSpriteInstanceBuffer;
|
||||
|
||||
STATIC INT32 s_spriteInstanceCount;
|
||||
STATIC RDC_Texture* s_defaultTexture;
|
||||
STATIC RDC_SpriteInstanceData s_spriteInstances[MAX_SPRITE_COUNT];
|
||||
|
||||
STATIC INT32 s_primitiveInstanceCount;
|
||||
STATIC GeometryVertex s_primitiveInstances[MAX_PRIMITIVE_COUNT];
|
||||
};
|
||||
} // namespace ia::iae
|
||||
Reference in New Issue
Block a user