Files
rena3d/CppGame/window.cpp
T
2026-08-25 00:20:49 -05:00

61 lines
1.2 KiB
C++

#include <SDL3/SDL.h>
#include "type.h"
#include "Renderer.h"
#include <iostream>
static SDL_Window* window = NULL;
static SDL_Renderer* renderer = NULL;
static Types::vec2 windowDimensions(1366, 768);
static Rena3D_Renderer r3dgpu;
int main(Types::uint_32 argc, char* argv) {
if (!SDL_Init(SDL_INIT_VIDEO)) {
std::cerr << "cannot init sdl window: " << SDL_GetError() << std::endl;
return -1;
}
window = SDL_CreateWindow(
"rena3d",
windowDimensions.X,
windowDimensions.Y,
0
);
if (!window) {
std::cerr << "cannot create sdl window: " << SDL_GetError() << std::endl;
SDL_Quit();
return -3;
}
renderer = SDL_CreateRenderer(window, nullptr);
if (!renderer) {
std::cerr << "renderer create failed: " << SDL_GetError() << std::endl;
SDL_DestroyWindow(window);
return -1;
}
Types::BOOLEAN isRunning = true;
SDL_Event event;
r3dgpu.InitTree();
while (isRunning) {
while (SDL_PollEvent(&event)) {
if (event.type == SDL_EVENT_QUIT) {
isRunning = false;
}
}
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
SDL_RenderClear(renderer);
r3dgpu.RenderFrame(0);
SDL_RenderPresent(renderer);
}
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}