Skip to content

Latest commit

 

History

History
65 lines (52 loc) · 3.58 KB

README.md

File metadata and controls

65 lines (52 loc) · 3.58 KB

outOfSpaceShaders

It's a is a graphics application project that explores the fascinating realm of celestial bodies through the lens of shaders. The project implements various shaders for different celestial bodies such as Earth, Neptune, Sun, Moon, Venus, Pluton, and a Random shader. It utilizes noise generation for terrain and density, along with triangle filling functions for rendering.


pic

FilesExternal DependenciesFeaturesHow To Use

Files

  • configure.sh: A shell script to set up the project dependencies and environment.
  • build.sh: A shell script to build the project using CMake.
  • run.sh: A shell script to execute the compiled graphics application.
  • clean.sh: A shell script to clean up build artifacts and generated files.
  • src: A directory containing the source code files for the graphics application.
    • barycentric.cpp: Source code file for barycentric coordinate calculations.
    • camera.h: Header file defining the camera class for viewpoint control.
    • colors.h: Header file containing color definitions.
    • fragment.h: Header file defining functions for fragment processing.
    • framebuffer.cpp: Source code file for framebuffer management.
    • framebuffer.h: Header file defining the framebuffer class.
    • main.cpp: Main source code file for the graphics application.
    • noise.h: Header file for noise generation functions.
    • print.h: Header file containing print functions.
    • shaders.h: Header file defining shader functions for different celestial bodies.
    • triangleFill.cpp: Source code file for triangle filling functions.
    • triangleFill.h: Header file for triangle filling functions.
    • triangles.cpp: Source code file containing functions related to triangles.

External Dependencies

The project makes use of the FastNoise library by Jordan Peck ([email protected]). Specifically, it includes the files FastNoise.h and FastNoise.Lite.h for advanced noise generation.

Features

The main features of the graphics application include:

  • Implementation of various shaders for different celestial bodies (Earth, Neptune, Sun, Moon, Venus, Pluton, Random).
  • Noise generation for terrain and density.
  • Triangle filling functions for rendering.

How To Use

To clone and run this application, you'll need WSL (Windows Subsystem for Linux) and the following tools installed on it: Git, C++ compiler, CMake, Make, glew, glm, tbb, and SDL2. From your command line:

# Clone this repository
$ git clone https://github.com/bl33h/outOfSpaceShaders

# Open the project
$ cd outOfSpaceShaders

# Give execution permissions
$ chmod +x configure.sh
$ chmod +x build.sh
$ chmod +x run.sh

# Run the app
$ ./run.sh