Scroll for more
Below is a recent example of a fragment shader I've developed: an realtime visualisation of filled quadratic Julia sets. This was built using the P5.js library because of its great support for GLSL shaders. Click the link below to view the heavily commented code.
Moving the cursor around determines the value of c in
where the
x and y positions represent the real and imaginary components of c.
It has been interesting to learn about this novel (to me at least) approach to generating graphics with GPU acceleration.
More specifically, the intricacies of the OpenGL pipeline,
and how running code in one stage instead of another can affect the rendered result.
A great example is mentioned here,
where calculating the specular highlights in the vertex processing stage instead of the fragment stage can have differing results.
My motion design endeavour, called AZmotion, can be viewed here.
In the process of turning a lockdown hobby into a business, I created my first website and learnt about many different aspects of the webdev space,
from using the serverless model
to handle payment APIs and sending emails, to self-hosting a web server and managing the complexities of CI/CD.