Another #shader! 😅
Just a silly demo to show two ways to tesselate a cube into 5 or 6 tetrahedrons. Useful for implementing the #marchingtetrahedra algorithm, although the 5 tetrahedrons one is tricky for such an application.
Professionally, I am a backend Java developer. However, my passion lies in the realms of computer graphics, and everything involving math, physics, audio, simulations and like-stuff.
Aside from tech-related interests, I am also into classical music, the violin, astronomy, and Japanese stuff.
I currently live in Montreal, Canada.
| Website | https://ghadeeras.github.io |
| GitHub | https://github.com/ghadeeras |
| https://linkedin.com/in/ghadeer-abousaleh | |
| Pronouns | He / Him |
Another #shader! 😅
Just a silly demo to show two ways to tesselate a cube into 5 or 6 tetrahedrons. Useful for implementing the #marchingtetrahedra algorithm, although the 5 tetrahedrons one is tricky for such an application.
My latest nostalgia-prompted purchase:
The Making of #PrinceOfPersia by Jordan Mechner.
Can you find the #comet ☄️ in these grainy images taken with a camera held by shaky hands? 😅
Yesterday, I climbed up to a place on Mount Royal that has an unobstructed view of the western sky, just after sunset, in hopes of catching a glimpse of comet #TsuchinshanATLAS.
I was disappointed.
Unfortunately, the comet is no longer visible to the naked-eye in light-polluted #Montreal. It's barely visible in 70mm binoculars. To find it, I shot random photos of the sky with high exposure and ISO levels. The darker image below is one of these photos.
The brighter noisier image is processed.
After enduring a surprise heavy downpour of rain yesterday in #Montreal, the reward came in the form of a spectacular rainbow show over a city bathed with the reddish sunset light.
Of course, my smartphone camera did not do the beautiful scene any justice.
The total solar #eclipse as it appeared to my camera from #Montreal
Bear in mind that these photos were taken with a mere 50 mm lense, which means a very small projected image of the sun/moon.
#solareclipse #totalsolareclipse #SolarEclipse2024 #TotalSolarEclipse2024 #photography #astronomy
I was thinking of preparing a presentation about #GPU programming for my teammates at work, covering some rendering and compute basics. But I must admit that I myself learned all the GPU stuff informally on my own, and so I don't claim to have solid foundations.
I thought that "derivatives" in fragment shaders could be an introductory tool to demonstrate what a "wavefront" 🌊 is. My understanding is that at least each quad of pixels are shaded by a wavefront; like 4 "threads" running in tandem or in lockstep. And it is thanks to that, that derivative are possible. Is that a correct assessment? Or did I get it all wrong?
So, I wrote a simple #glsl fragment shader that plots a function with a thick solid line. I used derivatives to approximately find the distance between each pixel and the function's curve:
https://www.shadertoy.com/view/lXlGRB
It is not perfect. I saw other shaders work better even for non-continuous functions, but I thought this will do for a presentation. Any thoughts/ideas?
Nothing important here. Just added shadows to a #webgpu toy of mine that renders scalar field isosurfaces using a flavor of the #raymarching method.
Toy: https://ghadeeras.github.io/pages/scalar-field-tracing
A lengthier video is here: https://youtu.be/mOU3Fvg2FNw