Skip to content

PrimCarol/3VGP_SpaceTurtle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐢 Space Turtle 🐢

My personal Engine from scratch with C++ and OpenGl.

© 2023 Pere Prim Carol

🔶 Video Demo

Video Demo

🔶 Project features

  • Entity Component System (ECS)
  • Obj Instancing
  • Hierarchy Transformations
  • Load OBJ
  • Lights (Directional, Point & Spot)
  • ShadowMapping (Directional and Spotlight)
  • Load Textures
  • Texture Atlas
  • Skybox/CubeMap
  • Material Configuration
  • Translucent
  • Picking System
  • Deferred Pipeline
  • PBR Materials
  • Normal Mapping
  • Assets System
  • SSAO

🔶 Future additions

  • Save/Load Scene
  • VR Port

🔶 Prerequisites

Visual Studio 2019/2022

🔶 Generate Visual Solution

Thanks to the use of Premake you only have to do the following

  • Run the file that you will find in -> ./tools/compile_vs[version].bat
  • Then open the visual solution that has been created in -> ./build/3VGP_SpaceTurtlevs[version].sln

🔶 Build

Inside the solution, press 'F5' to build and run.


🔶 Screenshots

🔶 Examples

Render Window

#include <st_engine.h>

int main() {
 ST::Window w;
 w.ColorBg(0.2f, 0.2f, 0.2f); // Optional

 // ----------------------------------------------------------------

 // Here Your Awesome Start Code!

 // --------------------------

 while (w.isOpen() && !w.inputPressed(ST::ST_INPUT_ESCAPE)) {
	 w.Clear();

	 // ----------------------------------------------------------------

	 // Here Your Awesome Loop Code!

	 // ----------------------------

	 w.Render();	
  }
  return 0;
 }
  

🔶 Libraries Used

· GLFW (https://github.com/glfw/glfw)
· Glad (https://github.com/Dav1dde/glad)
· ImGui (https://github.com/ocornut/imgui)
· ImGuizmo (https://github.com/CedricGuillemet/ImGuizmo)
· MiniAudio (https://github.com/mackron/miniaudio)
· STB (https://github.com/nothings/stb)
· TyniObj (https://github.com/tinyobjloader/tinyobjloader)
· FastNoiseLite (https://github.com/Auburn/FastNoiseLite)

About

An engine built from scratch

Resources

Stars

Watchers

Forks