Update renderer.cpp (clang-formatted)

This commit is contained in:
Lyelye150 2025-10-19 01:07:49 -04:00 committed by GitHub
parent 3b9ca55bb9
commit ea2849512e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -13,70 +13,97 @@
#include <whb/sdcard.h> #include <whb/sdcard.h>
struct IsleGX2Backend { struct IsleGX2Backend {
GX2RBuffer positionBuffer; GX2RBuffer positionBuffer;
GX2RBuffer colourBuffer; GX2RBuffer colourBuffer;
WHBGfxShaderGroup shaderGroup; WHBGfxShaderGroup shaderGroup;
bool rendering = false; bool rendering = false;
void Init(const char* shaderPath) { void Init(const char* shaderPath)
WHBLogUdpInit(); {
WHBProcInit(); WHBLogUdpInit();
WHBGfxInit(); WHBProcInit();
WHBMountSdCard(); WHBGfxInit();
char path[256]; WHBMountSdCard();
sprintf(path, "%s/%s", WHBGetSdCardMountPath(), shaderPath); char path[256];
FILE* f = fopen(path, "rb"); sprintf(path, "%s/%s", WHBGetSdCardMountPath(), shaderPath);
if (!f) return; FILE* f = fopen(path, "rb");
fseek(f, 0, SEEK_END); if (!f) {
size_t fsize = ftell(f); return;
rewind(f); }
char* data = (char*) malloc(fsize); fseek(f, 0, SEEK_END);
fread(data, 1, fsize, f); size_t fsize = ftell(f);
WHBGfxLoadGFDShaderGroup(&shaderGroup, 0, data); rewind(f);
free(data); char* data = (char*) malloc(fsize);
WHBGfxInitShaderAttribute(&shaderGroup, "aPosition", 0, 0, GX2_ATTRIB_FORMAT_FLOAT_32_32_32_32); fread(data, 1, fsize, f);
WHBGfxInitShaderAttribute(&shaderGroup, "aColour", 1, 0, GX2_ATTRIB_FORMAT_FLOAT_32_32_32_32); WHBGfxLoadGFDShaderGroup(&shaderGroup, 0, data);
WHBGfxInitFetchShader(&shaderGroup); free(data);
} WHBGfxInitShaderAttribute(&shaderGroup, "aPosition", 0, 0, GX2_ATTRIB_FORMAT_FLOAT_32_32_32_32);
WHBGfxInitShaderAttribute(&shaderGroup, "aColour", 1, 0, GX2_ATTRIB_FORMAT_FLOAT_32_32_32_32);
WHBGfxInitFetchShader(&shaderGroup);
}
void StartFrame() { void StartFrame()
if (rendering) return; {
WHBGfxBeginRender(); if (rendering) {
WHBGfxBeginRenderTV(); return;
rendering = true; }
} WHBGfxBeginRender();
WHBGfxBeginRenderTV();
rendering = true;
}
void EndFrame() { void EndFrame()
if (!rendering) return; {
WHBGfxFinishRenderTV(); if (!rendering) {
WHBGfxBeginRenderDRC(); return;
WHBGfxFinishRenderDRC(); }
WHBGfxFinishRender(); WHBGfxFinishRenderTV();
rendering = false; WHBGfxBeginRenderDRC();
} WHBGfxFinishRenderDRC();
WHBGfxFinishRender();
rendering = false;
}
void Clear(float r, float g, float b) { void Clear(float r, float g, float b)
StartFrame(); {
WHBGfxClearColor(r, g, b, 1.0f); StartFrame();
} WHBGfxClearColor(r, g, b, 1.0f);
}
void Flip() { void Flip() { EndFrame(); }
EndFrame();
}
void Shutdown() { void Shutdown()
WHBUnmountSdCard(); {
WHBGfxShutdown(); WHBUnmountSdCard();
WHBProcShutdown(); WHBGfxShutdown();
WHBLogUdpDeinit(); WHBProcShutdown();
} WHBLogUdpDeinit();
}
}; };
static IsleGX2Backend g_backend; static IsleGX2Backend g_backend;
extern "C" void IsleBackendInit(const char* shaderPath) { g_backend.Init(shaderPath); } extern "C" void IsleBackendInit(const char* shaderPath)
extern "C" void IsleBackendStartFrame() { g_backend.StartFrame(); } {
extern "C" void IsleBackendEndFrame() { g_backend.EndFrame(); } g_backend.Init(shaderPath);
extern "C" void IsleBackendClear(float r, float g, float b) { g_backend.Clear(r, g, b); } }
extern "C" void IsleBackendFlip() { g_backend.Flip(); } extern "C" void IsleBackendStartFrame()
extern "C" void IsleBackendShutdown() { g_backend.Shutdown(); } {
g_backend.StartFrame();
}
extern "C" void IsleBackendEndFrame()
{
g_backend.EndFrame();
}
extern "C" void IsleBackendClear(float r, float g, float b)
{
g_backend.Clear(r, g, b);
}
extern "C" void IsleBackendFlip()
{
g_backend.Flip();
}
extern "C" void IsleBackendShutdown()
{
g_backend.Shutdown();
}