Skip to content

๐ŸŒŒ cosmosEngine is a lightweight, modular 3D engine built from scratch with OpenGL โ€” designed as a personal laboratory for real-time rendering, shaders, and simulation. From skyboxes and reflective surfaces to procedural geometry and scene control.

Notifications You must be signed in to change notification settings

cryphon/CosmosEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒŒ cosmosEngine

cosmosEngine is a lightweight 3D rendering engine built from scratch using OpenGL โ€” designed as a modular, simulation-ready sandbox for learning real-time graphics, shader programming, and procedural geometry.

Named this way because I/we like space ๐Ÿš€


๐Ÿง  Purpose

This project serves as a personal playground to explore:

  • Real-time rendering pipelines
  • Physically based shading and cubemaps
  • Interactive scene design and UI tools
  • Procedural mesh generation
  • Custom 3D engine architecture

Whether for reflective objects, dynamic environments, or eventually full-on simulations โ€” this engine is built to be flexible, clean, and fun to experiment with.


๐ŸŒ  Features

  • ๐ŸŽฎ Real-time object rendering with free-fly camera
  • ๐Ÿงฑ Support for .obj meshes and procedural UV spheres
  • ๐ŸŒŒ Skybox & cubemap environment reflections
  • ๐Ÿ–ผ๏ธ Reflective surface shaders (GLSL)
  • ๐Ÿ“ Scene-based architecture (MainScene, SecondScene, etc.)
  • ๐Ÿงฐ Modular OpenGL wrappers (Shader, Mesh, Material, Renderer)
  • ๐ŸŽ›๏ธ UI tools powered by ImGui
  • ๐Ÿ“ฆ Texture & shader management system

๐Ÿ“š Goals

  • ๐Ÿ”ฌ Build educational visualizations (e.g. orbit simulation, ray tracing)
  • ๐Ÿงช Test procedural generation (meshes, materials, entire scenes)
  • ๐Ÿงฉ Design for modularity โ€” reusable renderer, materials, scenes
  • โš™๏ธ Eventually support real-time physics and raytracing extensions

๐Ÿ’ป Built With

  • OpenGL (core profile)
  • C++17
  • ImGui
  • stb_image
  • tinyobjloader

๐Ÿ“ธ Screenshot

screenshot

๐Ÿ”ญ Coming Soon

  • Physically based materials (roughness, metallic)
  • Real-time shadows
  • Scene editor tools
  • glTF support
  • Interactive visualizations (gravity, field lines)

Feel free to clone and play around โ€” or just use it as a reference for building your own OpenGL engine!

About

๐ŸŒŒ cosmosEngine is a lightweight, modular 3D engine built from scratch with OpenGL โ€” designed as a personal laboratory for real-time rendering, shaders, and simulation. From skyboxes and reflective surfaces to procedural geometry and scene control.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages