Skip to content

Programmer-nosleep/Simpler-DesktopEngineGL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OGL (OpenGL Cross-Platform Project Study Case)

This project is a cross-platform OpenGL implementation that supports multiple operating systems, including Windows, Linux, and macOS.

📋 System Requirements

  • CMake version 3.15 or higher
  • A C++ compiler supporting:
    • MSVC (for Windows).
    • Clang (optional for Linux/macOS).
  • OpenGL version 3.3 or higher.
  • libx11 (Linux) or XQuartz (macOS).
  • (Planned) Native Cocoa Objective-C runtime for macOS.

📁 Project Structure

Crossplatform-OpenGLS
│
├── .gitignore
├── CMakeLists.txt
├── CMakePresets.json
└── OGL
    ├── CMakeFiles
    └── platform
        ├── Cocoa
        ├── Win32
        │   ├── context
        │   ├── core
        │   ├── input
        │   └── window
        └── X11
            ├── context
            ├── core
            ├── input
            └── window

✨ Features

  • Hot Reload support for MSVC compiler
  • Optimized Debug Information Format
  • Cross-platform: Windows / Linux / macOS
  • Auto-configured build and output directories

🛠️ Build Instructions

🪟 Windows (Visual Studio)

  1. Generate the Visual Studio project:

    cmake -B build -G "Visual Studio 17 2022"
  2. Run the application:

    out/build/x64-debug/OGL/Crossplatform-OpenGLS.exe

🐧 Linux (GCC/Clang)

  1. Create a build directory:

    cmake -B build .
  2. Navigate into it:

    cd build
  3. Run the application:

    ./Crossplatform-OpenGLS

🍎 macOS (Planned)

Support for macOS using Cocoa and XQuartz is planned. The build process will include:

  • CMake generation with Xcode:

    cmake -B build -G "Xcode"
  • Linking with Cocoa and OpenGL frameworks

  • Running via native Objective-C integration

📌 Notes

  • Windows build output is placed in build/Debug/ or out/build/x64-debug/OGL/
  • Linux build output is placed in build/ by default
  • macOS output location and instructions will be added soon

Feel free to open issues or contribute to improving cross-platform support!

About

All about how games engine to work! (Study Case)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors