Skip to content

A graphics application project delving into celestial realms via shaders. Features shaders for Earth, Neptune, Sun, Moon, Venus, Pluton, and a Random shader. Utilizes noise generation for terrain, density, and efficient triangle filling for rendering.

License

Notifications You must be signed in to change notification settings

bl33h/outOfSpaceShaders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A graphics application project delving into celestial realms via shaders. Features shaders for Earth, Neptune, Sun, Moon, Venus, Pluton, and a Random shader. Utilizes noise generation for terrain, density, and efficient triangle filling for rendering.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages