top of page
OpenGLDevTool-website-banner.png

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

windows-icon.png

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.

imgui_image.PNG

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.

lightproperties_image.PNG

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.

particlessystem_image.PNG

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.

watersystem_image.PNG

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. 

firesystem_image.PNG

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.

SCREENSHOTS

bottom of page