Maximilian Tarpini's Avatar

Maximilian Tarpini

@maxtarpini.bsky.social

It's all about WΓ·mΒ² and WΓ·Kg πŸŒˆπŸš΄β€β™‚οΈ www.rombo.tools

132 Followers  |  55 Following  |  37 Posts  |  Joined: 16.11.2024  |  1.8935

Latest posts by maxtarpini.bsky.social on Bluesky

Post image Post image Post image Post image

Ending some Pattern dev with Truchet patterns. Worth noting that while the original Truchet tiles (1704) used diagonally split squares, the curved arc-based Truchet patterns commonly used in modern graphics were popularized by Cyril Stanley Smith in 1987 !

18.12.2025 21:58 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Templated C++ hash gen splitmix64-based.
For any kind of input get any kind of output :

float a = rmb_hash<float > (make_float2(12.f, 7.f));
int3 b = rmb_hash<int3> (make_int2(5, 9));
int2 c = rmb_hash<int2> (float(1.5f));

github.com/RomboDev/Mis...

14.12.2025 17:06 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

Never ever use hashes you find around .. and for this matter .. don't roll your own hash functions either .. refer to your quality dealer eventually :) or to SplitMix64-based hashes.

Here with some commenting about.

08.12.2025 20:34 β€” πŸ‘ 16    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Oh well there I'd be worried about pre-computation and storage stuff for the bins.

08.12.2025 18:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Well, this one has the 'limitation' for example of requiring UVs .. which is not cool if you think that it might be used just casually for having glints on a surface. So was not that promising ..

However I've added triplanar mapping and it works cool now.

06.12.2025 22:00 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

Orbit traps are a coloring strategy for fractals: follow an orbit, watch how it moves through space and record how close it gets to some geometric β€œtrap”. That β€œcloseness” drives your colors.

These are based on : "Procedural Generation of Artistic Patterns Using a Modified Orbit Trap Method".

05.12.2025 21:41 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I think it's more about culture, complexity, design, willing, and feasibility. Latest Unity looks like it goes well with Belcour's layered approach as I just have been told.

21.11.2025 22:29 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

How cool.

21.11.2025 22:23 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Layered - Google Drive

No commercial renderer implements true layering .. do you ?

There are many models :
drive.google.com/drive/folder...

Video is using a plain blend op :
Final = Base * (1 - Blend1) + Coat1 * Blend1 * (1 - Blend2) + Coat2 * Blend2 ...

Let's add a 'fresnel map' and call it phys based ! ;)

21.11.2025 22:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Let's put it in this way.. there three kind of fools.. those that use a casual map, those that believe that multi-layer approaches takes into account interfaces(as a real scattering event) and eventually those that don't get anything of the above and use ai to tweet their nonsense 😁

21.11.2025 19:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Which in turn .. changes the optical path roughness .. ie. the aggregate scattering of the light ray entering and leaving the (dual) lobe. The video is pretentious at least. You can't compare a 'casual' map application to a dedicated multi-layer approach.

21.11.2025 12:04 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Patterns from : ' Mathematical Modeling of a Class of Symmetrical Islamic Design'.

Proper coloring is almost impossible because stars in a periodic tiling where cell boundaries wrap destroy the pattern topology .. ie. a ray can hit edges that are topologically behind the starting point ! πŸ€”

18.11.2025 20:23 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image Post image

Implemented : Symmetrization of Quasi-Regular Patterns with Periodic Tilting of Regular Polygons (using UV cells). Super nice, infinite pattern variations with just few parameters. Added colorization that with threshold parameters adds other ways to create more patterns.

14.11.2025 20:26 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Working with floats in C/C++? Fncs like fmod(), fmin(), fabs() etc. actually use doubles internally (floats get promoted on call). For better performance with float data, use the 'f' suffix versions: sinf(), sqrtf() are obvious, fmodf(), fminf() less so. Easy to overlook, but matters in tight loops!

23.10.2025 20:44 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Paint By Numbers: Abstract Image Representations
t.co/nPXURJpFUB

21.07.2025 18:11 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image

Finally had some luck implementing rt multiscale glints (zirr/kaplaian2018) offline ! Snow uses delta-Eddington phase fnc.

09.07.2025 18:31 β€” πŸ‘ 10    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I think I'm still using the original Frisvad one.. can't remember if on purpose or just because of laziness in redoing all unit tests! Either ways thanks for the reference! πŸ€ŸπŸ€“

09.07.2025 18:19 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Solid angle sampling : uniformly perturb a base vector within its solid angle cone.

github.com/RomboDev/Mis...

09.07.2025 14:07 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image

Defocus 2.5D blur with circle of confusion computation from Z-depth based on 'A lens and aperture camera model for synthetic image generation - ACM Siggraph 1981' is super nice and works a treat in many situations.

09.05.2025 20:34 β€” πŸ‘ 17    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

Importance sampled sky mapping.

14.03.2025 21:31 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

Phased moon 3D directional blur.

07.03.2025 22:22 β€” πŸ‘ 14    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Oh ehy 🀟 thanks! That's mostly fbm iterations over fast perlin noise.

07.03.2025 19:57 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Btw, we locate sun in the sky by checking ray dir alignment with sun center (cosTheta>sunCosTheta) .. so we don't generally consider sun size. However, sin() of sun angular diameter is sun radius (!) and we can use that at horizon to account for sun having a real diameter ie. for twilight zone etc.

01.03.2025 17:16 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

Modular approach to sky modeling πŸ”­πŸš€πŸŒ™

23.02.2025 21:03 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Cool ! Do you add them simply together or are you using importance sampling or some heuristics to layer them ?

30.12.2024 20:51 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image

If you want to be physically correct instead to use ie. a smoothstep fnc to fade out for example stars at horizon you can use this analytical approximation to the atmospheric extinction coefficent :

30.12.2024 20:43 β€” πŸ‘ 16    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Post image Post image Post image

Ever noticed that most phase fncs use costheta and not theta ? After all we want an angular quantity not a proj of some sort (taking the cos of the angle) while is not even a math convenience.. it is that costheta provides a more uniform sampling for calcs of ang distributions. Here the proof :

26.12.2024 17:29 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

The localPoint in the previous code is also the hit normal so I had just to add bump mapping, a dot product (moonnormal,sundir) for diffuse wrapped in a ^0.75 to compress the shadow terminator and eventually a bit of ambient (+albedo*0.075).. and voilΓ  a basic moon with tidal locking.

14.12.2024 21:28 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

Simulate moon tidal locking by actually locking UVs to the view direction πŸŒ™β›“οΈ

13.12.2024 21:26 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

I'm keeping updated this super comprehensive collection of <Light Transport> papers (by tech and by year), from the Kajiya eq to latest differential and neural approaches, passing by RRT and MC theories | As before, repost if you think it may be useful to others.

drive.google.com/drive/folder...

21.11.2024 21:38 β€” πŸ‘ 88    πŸ” 25    πŸ’¬ 1    πŸ“Œ 0

@maxtarpini is following 20 prominent accounts