camera movement & formatting
This commit is contained in:
@@ -1,108 +1,132 @@
|
||||
#pragma once
|
||||
#include "../Global.h"
|
||||
#include <bgfx/bgfx.h>
|
||||
#include <bx/string.h>
|
||||
#include <cstdio>
|
||||
|
||||
namespace Game
|
||||
{
|
||||
struct PosColorVertex
|
||||
{
|
||||
float x;
|
||||
float y;
|
||||
float z;
|
||||
uint32_t abgr;
|
||||
float uv_x;
|
||||
float uv_y;
|
||||
};
|
||||
struct PosColorVertex
|
||||
{
|
||||
float x;
|
||||
float y;
|
||||
float z;
|
||||
uint32_t abgr;
|
||||
float uv_x;
|
||||
float uv_y;
|
||||
};
|
||||
|
||||
struct BgfxCallback : public bgfx::CallbackI
|
||||
{
|
||||
virtual ~BgfxCallback()
|
||||
{
|
||||
}
|
||||
struct BgfxCallback : public bgfx::CallbackI
|
||||
{
|
||||
virtual ~BgfxCallback()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void fatal(const char* _filePath, uint16_t _line, bgfx::Fatal::Enum _code, const char* _str) override
|
||||
{
|
||||
// Something unexpected happened, inform user and bail out.
|
||||
printf("Fatal error: 0x%08x: %s", _code, _str);
|
||||
virtual void fatal(const char* _filePath, uint16_t _line, bgfx::Fatal::Enum _code, const char* _str) override
|
||||
{
|
||||
// Something unexpected happened, inform user and bail out.
|
||||
printf("Fatal error: 0x%08x: %s", _code, _str);
|
||||
|
||||
// Must terminate, continuing will cause crash anyway.
|
||||
abort();
|
||||
}
|
||||
// Must terminate, continuing will cause crash anyway.
|
||||
abort();
|
||||
}
|
||||
|
||||
virtual void traceVargs(const char* _filePath, uint16_t _line, const char* _format, va_list _argList) override
|
||||
{
|
||||
printf("%s (%d): ", _filePath, _line);
|
||||
vprintf(_format, _argList);
|
||||
}
|
||||
virtual void traceVargs(const char* _filePath, uint16_t _line, const char* _format, va_list _argList) override
|
||||
{
|
||||
printf("%s (%d): ", _filePath, _line);
|
||||
vprintf(_format, _argList);
|
||||
}
|
||||
|
||||
virtual void profilerBegin(const char* /*_name*/, uint32_t /*_abgr*/, const char* /*_filePath*/, uint16_t /*_line*/) override
|
||||
{
|
||||
}
|
||||
virtual void profilerBegin(const char* /*_name*/,
|
||||
uint32_t /*_abgr*/,
|
||||
const char* /*_filePath*/,
|
||||
uint16_t /*_line*/) override
|
||||
{
|
||||
}
|
||||
|
||||
virtual void profilerBeginLiteral(const char* /*_name*/, uint32_t /*_abgr*/, const char* /*_filePath*/, uint16_t /*_line*/) override
|
||||
{
|
||||
}
|
||||
virtual void profilerBeginLiteral(const char* /*_name*/,
|
||||
uint32_t /*_abgr*/,
|
||||
const char* /*_filePath*/,
|
||||
uint16_t /*_line*/) override
|
||||
{
|
||||
}
|
||||
|
||||
virtual void profilerEnd() override
|
||||
{
|
||||
}
|
||||
virtual void profilerEnd() override
|
||||
{
|
||||
}
|
||||
|
||||
virtual uint32_t cacheReadSize(uint64_t _id) override
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
virtual uint32_t cacheReadSize(uint64_t _id) override
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual bool cacheRead(uint64_t _id, void* _data, uint32_t _size) override
|
||||
{
|
||||
return false;
|
||||
}
|
||||
virtual bool cacheRead(uint64_t _id, void* _data, uint32_t _size) override
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
virtual void cacheWrite(uint64_t _id, const void* _data, uint32_t _size) override
|
||||
{
|
||||
}
|
||||
virtual void cacheWrite(uint64_t _id, const void* _data, uint32_t _size) override
|
||||
{
|
||||
}
|
||||
|
||||
virtual void screenShot(const char* _filePath, uint32_t _width, uint32_t _height, uint32_t _pitch, const void* _data, uint32_t /*_size*/, bool _yflip) override
|
||||
{
|
||||
}
|
||||
virtual void screenShot(const char* _filePath,
|
||||
uint32_t _width,
|
||||
uint32_t _height,
|
||||
uint32_t _pitch,
|
||||
const void* _data,
|
||||
uint32_t /*_size*/,
|
||||
bool _yflip) override
|
||||
{
|
||||
}
|
||||
|
||||
virtual void captureBegin(uint32_t _width, uint32_t _height, uint32_t /*_pitch*/, bgfx::TextureFormat::Enum /*_format*/, bool _yflip) override
|
||||
{
|
||||
}
|
||||
virtual void captureBegin(uint32_t _width,
|
||||
uint32_t _height,
|
||||
uint32_t /*_pitch*/,
|
||||
bgfx::TextureFormat::Enum /*_format*/,
|
||||
bool _yflip) override
|
||||
{
|
||||
}
|
||||
|
||||
virtual void captureEnd() override
|
||||
{
|
||||
}
|
||||
virtual void captureEnd() override
|
||||
{
|
||||
}
|
||||
|
||||
virtual void captureFrame(const void* _data, uint32_t /*_size*/) override
|
||||
{
|
||||
}
|
||||
};
|
||||
virtual void captureFrame(const void* _data, uint32_t /*_size*/) override
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
struct Model
|
||||
{
|
||||
bgfx::VertexBufferHandle VertexBuffer;
|
||||
bgfx::IndexBufferHandle IndexBuffer;
|
||||
bgfx::VertexLayout VertLayout;
|
||||
};
|
||||
|
||||
struct Material
|
||||
{
|
||||
static constexpr uint32_t UniformTimeIdx = 0;
|
||||
bgfx::ProgramHandle Shader;
|
||||
bgfx::UniformHandle Uniforms[8];
|
||||
uint64_t State = 0;
|
||||
};
|
||||
struct Model
|
||||
{
|
||||
bgfx::VertexBufferHandle VertexBuffer;
|
||||
bgfx::IndexBufferHandle IndexBuffer;
|
||||
bgfx::VertexLayout VertLayout;
|
||||
};
|
||||
|
||||
class GameRendering
|
||||
{
|
||||
private:
|
||||
Material Materials[8];
|
||||
Model Models[8];
|
||||
BgfxCallback Callback;
|
||||
public:
|
||||
void Setup();
|
||||
void Update();
|
||||
void Shutdown();
|
||||
};
|
||||
}
|
||||
struct Material
|
||||
{
|
||||
static constexpr uint32_t UniformTimeIdx = 0;
|
||||
bgfx::ProgramHandle Shader;
|
||||
bgfx::UniformHandle Uniforms[8];
|
||||
uint64_t State = 0;
|
||||
};
|
||||
|
||||
struct Camera
|
||||
{
|
||||
Mat4 Transform;
|
||||
};
|
||||
|
||||
class GameRendering
|
||||
{
|
||||
private:
|
||||
Material Materials[8];
|
||||
Model Models[8];
|
||||
BgfxCallback Callback;
|
||||
Camera Cam;
|
||||
|
||||
public:
|
||||
void Setup();
|
||||
void Update();
|
||||
void Shutdown();
|
||||
};
|
||||
} // namespace Game
|
||||
|
||||
Reference in New Issue
Block a user