chore(core.hpp): add comments

This commit is contained in:
2026-01-07 13:47:04 +01:00
parent a2804d3da2
commit ab42e5489f

View File

@@ -1,24 +1,54 @@
#ifndef CORE_HPP #ifndef CORE_HPP
#define CORE_HPP #define CORE_HPP
// I chose GLAD to dynamically load OpenGL functions at runtime.
// Since OpenGL implementations differ between GPUs and OS, GLAD
// ensures that my code always calls the correct function pointers
// for the current platform and driver. Its modern, header-only
// unlike GLEW which is much heavier than GLAD, and lets me
// select exactly which OpenGL version and extensions I need.
#include "glad/glad.h" #include "glad/glad.h"
// I chose GLFW for its simplicity and cross-platform support.
// It handles window creation, OpenGL context management, and input
// (keyboard/mouse), It is allowing me to focus on graphics
// programming rather than writing platform specific code. GLFW is
// lightweight and works consistently on Windows, macOS, and Linux.
#include "GLFW/glfw3.h" #include "GLFW/glfw3.h"
// I chose GLM because I didnt want to implement all vector and matrix
// math from scratch. I already experimented with a custom SIMD-based
// math library, but GLM is more convenient, header-only, and highly
// optimized for graphics, letting me focus on rendering instead of
// low-level math.
#include "glm/glm.hpp" #include "glm/glm.hpp"
// I chose stb_image for image loading to easily handle textures.
// Its header-only, simple to integrate, and supports common formats
// like PNG and JPEG without adding heavy dependencies.
#include "stb_image.h" #include "stb_image.h"
#include "imgui.h" // used **ImGui** as an optional GUI to debug and tweak rendering parameters in
// real time. Its lightweight, immediate-mode, and lets me inspect and modify
// values without stopping the program.
#include "backends/imgui_impl_glfw.h" #include "backends/imgui_impl_glfw.h"
#include "backends/imgui_impl_opengl3.h" #include "backends/imgui_impl_opengl3.h"
#include "imgui.h"
#include "logger.hpp" //
//
//
//
//
//
//
//
#include "camera.hpp" #include "camera.hpp"
#include "vao.hpp"
#include "vbo.hpp"
#include "ebo.hpp" #include "ebo.hpp"
#include "logger.hpp"
#include "shader.hpp" #include "shader.hpp"
#include "time.hpp" #include "time.hpp"
#include "vao.hpp"
#include "vbo.hpp"
#endif #endif