diff --git a/meson.build b/meson.build index 31f3a69..8f0e2c5 100644 --- a/meson.build +++ b/meson.build @@ -1,12 +1,12 @@ -project('webgpu', 'c', +project('opengl', 'c', default_options: 'default_library=static') -vulkan_dep = dependency('vulkan-headers', fallback: ['vulkan-headers', 'vulkan_headers_dep']) +#vulkan_dep = dependency('vulkan-headers', fallback: ['vulkan-headers', 'vulkan_headers_dep']) sdl3_deps = [dependency('sdl3'), dependency('sdl3_image')] -cglm_dep = dependency('cglm') -wgpu_native_dep = dependency('wgpu-native') +opengl_deps = [dependency('glew'), dependency('gl'), dependency('cglm')] +#wgpu_native_dep = dependency('wgpu-native') -executable('webgpu', 'src/main.c', +executable('opengl', 'src/main.c', win_subsystem: 'windows', - dependencies: [sdl3_deps, cglm_dep, wgpu_native_dep, vulkan_dep] + dependencies: [sdl3_deps, opengl_deps ] ) diff --git a/src/main.c b/src/main.c index d2fcc71..a278470 100644 --- a/src/main.c +++ b/src/main.c @@ -2,6 +2,7 @@ #include "SDL3/SDL_log.h" #include "SDL3/SDL_render.h" #include "SDL3/SDL_video.h" +#include int main(int argc, char *argv[]) { SDL_Window *window; @@ -11,14 +12,19 @@ int main(int argc, char *argv[]) { if (!SDL_Init(SDL_INIT_VIDEO)) { SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't initialize SDL: %s", SDL_GetError()); - return 3; + return EXIT_FAILURE; } - if (!SDL_CreateWindowAndRenderer("Hello SDL3", 320, 240, SDL_WINDOW_RESIZABLE, - &window, &renderer)) { + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3); + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); + + window = SDL_CreateWindow("Hello SDL3", 320, 240, SDL_WINDOW_OPENGL); + if (!window) { SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't create window and renderer: %s", SDL_GetError()); - return 3; + return EXIT_FAILURE; } while (1) { @@ -26,15 +32,11 @@ int main(int argc, char *argv[]) { if (event.type == SDL_EVENT_QUIT) { break; } - SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0x00); - SDL_RenderClear(renderer); - SDL_RenderPresent(renderer); } - SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); - return 0; + return EXIT_SUCCESS; }