diff options
author | BoredGuy <osome3717@gmail.com> | 2025-09-26 08:49:38 +0300 |
---|---|---|
committer | BoredGuy <osome3717@gmail.com> | 2025-09-26 08:49:38 +0300 |
commit | a23d279dfa284c1faf13ef0100bb6434a8e83617 (patch) | |
tree | 105dd21add3e89c5d13cb09c51d9a93f172960dd /src/renderwindow.c | |
parent | 141287e361f45f47cdf93aecf0b2d93620c01020 (diff) |
Getting started on renderer
Diffstat (limited to 'src/renderwindow.c')
-rw-r--r-- | src/renderwindow.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/renderwindow.c b/src/renderwindow.c new file mode 100644 index 0000000..d3bea0c --- /dev/null +++ b/src/renderwindow.c @@ -0,0 +1,22 @@ +#include <SDL3/SDL.h> +#include <dawn/webgpu.h> +#include "renderwindow.h" + +RenderWindow InitRenderWindow(int width, int height, const char* title) { + RenderWindow renderWindow = {0}; + SDL_Init(SDL_INIT_VIDEO); + renderWindow.window = SDL_CreateWindow(title, width, height, 0); + + renderWindow.wgpuInstance = wgpuCreateInstance(&(const WGPUInstanceDescriptor){ + .requiredFeatureCount = 1, + .requiredFeatures = (WGPUInstanceFeatureName[]) { WGPUInstanceFeatureName_TimedWaitAny } + }); + + return renderWindow; +} + +void QuitRenderWindow(RenderWindow* renderWindow) { + wgpuInstanceRelease(renderWindow->wgpuInstance); + SDL_DestroyWindow(renderWindow->window); + SDL_Quit(); +} |