ABOUT
The Developer Tool is a program developed in OpenGL using the C++ language to showcase different shader techniques. This project uses the ImGUI library developed by Ocornut to allow for user interactions and changes in real time.
CORE FEATURES
OpenGL | C++ | Shaders
PROJECT DETAILS
PLATFORM
Windows
PROJECT LENGTH
6 - 8 Weeks
RELEASE DATE
May, 2022
ENVIRONMENT
Visual Studios was the main Integrated Development Environment (IDE) used for development of this project, using C++ and the OpenGL Application Programming Interface (API) along with external libraries, like ImGUI.
BLENDER
Blender was used to create three models for this project, by using reference images to assist the design process. Using array modifiers for models, such as bricks on the fire pit and pond.
DESIGN SKILLS
USER INTERACTION
The project consists of three different 3D models - a fountain, pond and fire pit. With each model, there is a different vertex animation styles, with global lighting illuminating the scene.
These settings and more can be altered by the user by using the ImGUI interface.
ImGUI CONSOLE
First of all, the "Toggle Rotation" checkbox is deactivated - meaning the user can press the 'A' & 'D' keyboard keys to rotate the camera around the centre pivot point, and adjust the rotation speed using the slider. By pressing 'W' & 'S' keyboard keys will allow the user to zoom in or out.
LIGHT PROPERTIES
The top 3 sliders control the light's x, y and z position. The next slider sets the light to either a point or directional light: 0 is directional and 1 is point light.
FOUNTAIN
The particle system technique is used for this model. By default the fountains particle system is disabled, and can be enabled by toggling the "Begin Particles" checkbox. The "Particle Acceleration" sliders controls the which direction the particles will flow. "Particle Size" slider changes the size of the particles. The particle lifetime can be updated using the "Particle Lifetime" slider. Similarily, the amount of particles emitted is changed with the subsequent slider.
POND
The vertex animation technique is used for this model. "Water Frequency" controls the length between each wave. "Water Velocity" controls the speed of the waves, and the "Wave Amp" or amplitude controls the wave height.
FIRE PIT
Similar to the fountain, this model also uses the particle system, however the particles themselves are animated travelling upwards. The fire simulation is disabled by default, and enabled using the checkbox. The next few sliders also control the corresponding fire particles.
GEOMETRY EFFECTS
Contains 2 different geometry shader techniques for each model in the scene, wireframe and silhouette. By toggling an effect will change that specific models shader.
After toggling an effect, a collapsable header will appear. Where the user can change some of the settings for that effect. For example, colour or line width.