Add debug rendering, fix misaligned pos render bug
Rendering using a non-default quad specifies normalised coordinates relative to the frame buffer size. Hence each render of these frames should origin from (0,0) any other value is invalid.
This commit is contained in:
@@ -90,4 +90,12 @@ const i32 asset_loadShaderFiles(AssetManager *assetManager,
|
||||
const enum ShaderList type);
|
||||
|
||||
const i32 asset_loadTTFont(AssetManager *assetManager, const char *filePath);
|
||||
|
||||
inline i32 asset_getVFontSpacing(FontMetrics metrics)
|
||||
{
|
||||
i32 result =
|
||||
metrics.ascent - metrics.descent + metrics.lineGap;
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -26,5 +26,6 @@ typedef double f64;
|
||||
#define CAST(type) (type)
|
||||
#define ASSERT(expr) if(!(expr)) { *(int *)0 = 0; }
|
||||
|
||||
i32 common_strlen(const char *const string);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
#ifndef DENGINE_RENDERER_H
|
||||
#define DENGINE_RENDERER_H
|
||||
|
||||
#include "Dengine/Math.h"
|
||||
#include "Dengine/Entity.h"
|
||||
#include "Dengine/Shader.h"
|
||||
#include "Dengine/AssetManager.h"
|
||||
|
||||
typedef struct Renderer
|
||||
{
|
||||
@@ -13,15 +12,35 @@ typedef struct Renderer
|
||||
i32 numVertexesInVbo;
|
||||
v2 vertexNdcFactor;
|
||||
v2 size;
|
||||
|
||||
} Renderer;
|
||||
|
||||
typedef struct DebugRenderer
|
||||
{
|
||||
b32 init;
|
||||
v2 stringPos;
|
||||
|
||||
} DebugRenderer;
|
||||
|
||||
typedef struct RenderQuad
|
||||
{
|
||||
v4 vertex[4];
|
||||
} RenderQuad;
|
||||
|
||||
void renderer_entity(Renderer *renderer, Entity *entity, f32 rotate,
|
||||
extern DebugRenderer debugRenderer;
|
||||
|
||||
#if 0
|
||||
void renderer_backgroundTiles(Renderer *const renderer, const v2 tileSize,
|
||||
World *const world, TexAtlas *const atlasTexture,
|
||||
Texture *const tex);
|
||||
#endif
|
||||
|
||||
void renderer_string(Renderer *const renderer, Font *const font,
|
||||
const char *const string, v2 pos, f32 rotate, v3 color);
|
||||
|
||||
void renderer_debugString(Renderer *const renderer, Font *const font,
|
||||
const char *const string);
|
||||
|
||||
void renderer_entity(Renderer *renderer, Entity *entity, f32 dt, f32 rotate,
|
||||
v3 color);
|
||||
|
||||
void renderer_object(Renderer *renderer, v2 pos, v2 size, f32 rotate, v3 color,
|
||||
|
||||
@@ -45,6 +45,7 @@ typedef struct GameState
|
||||
AssetManager assetManager;
|
||||
} GameState;
|
||||
|
||||
|
||||
void worldTraveller_gameInit(GameState *state, v2i windowSize);
|
||||
void worldTraveller_gameUpdateAndRender(GameState *state, const f32 dt);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user