This repository contains the implementation of an interactive 3D graphics application. The implementation uses the provided renderer as a base and allows users to simulate particles on a grid with different colors and behaviors. The implementation also includes the implementation of Look-At, Turn-To, and Mouse-Look algorithms from the lecture.
To use the implementation, you will need to have a C++ compiler and Visual Studio installed on your computer.- Clone the repository using git clone https://github.com/EthanStanks/END-Class.git
- Open the project in Visual Studio.
- Build and run the project.
- To move the camera, hold down the right mouse button to unlock the mouse cursor. Then, move the mouse to rotate the camera.
- To move the camera forward, press the 'W' key. To move the camera backward, press the 'S' key.
- To move the camera to the right, press the 'D' key. To move the camera to the left, press the 'A' key.
- To move the camera up, press the 'Space' key. To move the camera down, press the 'Shift' key.
- To move the player forward, press the 'Up' arrow key. To move the player backward, press the 'Down' arrow key.
- To turn the player to the right, press the 'Right' arrow key. To turn the player to the left, press the 'Left' arrow key.
- Update functionality: Updates the velocity of the particles, spawns particles, moves the camera, collects input, color update changes, etc.
- Debug Renderer: Renders a grid (simulating a floor), changes the colors of the grid based on time, and allows users to cycle through the colors of the grid.
- Pools: Allows users to spawn simple particles, create a sorted pool and a free pool, and use them to spawn particles. Users can also use multiple emitters that share the pool to spawn particles.
- Simple Particle behavior: Allows users to spawn particles a little at a time, to have a constant spray, not fire them all at once.