top of page
Terrain Simulation
graphics1.PNG
graphics2.PNG
graphics7.png

Terrain Simulation - A final year University unit "Advanced Computer Graphics" where 2 digital products had to be designed. One being an interactive graphics demo using OpenGL & C++ with a required in-house library called SOF. The second one to create an image shader on shader toy with a 2D ray marched scene that is interactive and animated.

C++ is at the forefront of developing these graphics using microsoft visual studio 2022. The open graphics library used is modified by our unit tutor with his own SOF framework (Simple OpenGL Framework) which wraps various glm features to make creating vertex array objects easier. I decided to build a terrain platform where objects are spawned into the environment at random. Simulated events take places like an object moving along a spline with alternating camera views, projectiles colliding with the world, colour changes and object rotations; all with key presses.

​

Shadertoy is a web browser tool to create shaders with WebGL. I made multiple shapes with different vertices overlap one another with a ray march and then altered the background with a built in image. The shadertoy development was lots of prototyping and very common to debug logic errors.

Both of these products were challenging to make but rewarding when finalizing a minimally bug free demo to showcase. The majority of the textures were downloaded from copyright free web pages and implemented into the scene with GLSL. The 3D scene could do with improving the frame rate as trees are spawned as well as using a better formula to calculate collision with terrain on the heightmap. I learnt how to use shaders to a good level and use robust C++ code to simulate graphics without crashes.

Rendered Objects
graphics3.PNG
graphics6.PNG
graphics4.PNG
graphics5.PNG

Rendered Objects - A second year University assignment where I had to create a demonstration which signifies an aspect of computer graphics using OpenGL. The one on display here is an interactive rendering of coloured objects. Where it is made possible to add and subtract objects of different geometries and scales at random locations and orientations to the viewer.

General C++ knowledge and techniques were used to loop over a list of objects. The vertex buffers had to be created for the square based pyramid and cube. A base object of each was drawn in the center of the screen to depict them. 

Considering this was my first time working with OpenGL, I thoroughly enjoyed the process of using C++ in grasping core concepts of glm. The product is simple and works as intended, colours are interpolated and at least 2 different objects can be spawned or deleted from the world.

© 2023 by Dylan Meadows. Proudly created with Wix.com

bottom of page