Files
learnopengl/inc/core/core.hpp

54 lines
1.8 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef 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"
// 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"
// 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"
// 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"
// 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_opengl3.h"
#include "imgui.h"
//
//
//
//
//
//
//
//
#include "camera.hpp"
#include "ebo.hpp"
#include "logger.hpp"
#include "shader.hpp"
#include "time.hpp"
#include "vao.hpp"
#include "vbo.hpp"
#endif