I've got a new blog post for all of you fine folks! It runs through the additions to D3D12 since it was released, and finishes up with some of the things that have changed for me personally in my code.
(And yes it's really been 10 years 👴).
therealmjp.github.io/posts/ten-ye...
Posts by
Frustum Grids Primer Part 2:
This time instead of having a fixed depth-slice count (which is common for games for a variety of reasons) we'll instead focus on trying to maintain a uniform and non-elongated froxel shapes, which results a variable slice count
www.desmos.com/geometry/yl5...
The guy who made Undertale didn't know what arrays were when he started making the game and still went on to make one of the greatest games of all time. I try to keep that in mind whenever I get egotistical about programming.
"Nucleus"
for(float i,z,d;i++<1e2;o+=vec4(3,8,z,0)/d/9e4){vec3 p=z*normalize(FC.rgb*2.-r.xyy),a=normalize(cos(vec3(4,2,0)+t-d/.1));p.z+=8.,a=a*dot(a,p)-cross(a,p);for(d=1.;d++<5.;)a+=sin(a*d+t).yzx/d;z+=d=abs(length(a)-5.)/6.;}
2000 frame animation, white light beams shining into a grid of glass spheres, forward spectral pathtracing in 2D
📷 One more detail of a sunflower in ultraviolet light
#sunflower
#macro
#ultraviolet
#UV
Our #SGP25 work studies a simple and effective way to uniformly sample implicit surfaces by casting rays. (1/9)
“Uniform Sampling of Surfaces by Casting Rays” w/ @abhishekmadan.bsky.social @nmwsharp.bsky.social and Alec Jacobson
"Ghosts"
for(float i,z,d;i++<1e2;o+=vec4(z/7.,2,3,1)/d){vec3 p=z*normalize(FC.rgb*2.-r.xyy);p.z-=5.*t;p.xy*=mat2(cos(z*.1+t*.1+vec4(0,33,11,0)));for(d=1.;d<9.;d/=.7)p+=cos(p.yzx*d+t)/d;z+=d=.02+abs(2.-dot(cos(p),sin(p.yzx*.6)))/8.;}o=tanh(o*o/1e7);
“Hank, why are you spending so much time defending the freaking /minecraft movie?/“
Actually, I’m not defending anything, I am attacking the practice of dumping buckets of jaded misery on moments of goofy joy and I will absolutely die on that hill.
600 million white points make up this image of mine on a canvas of 60000 pixels x 60000 pixels. Each point is a root of the parametric polynomial:
4𝑥⁶ + (−10𝑡₁³ + 10𝑡₁² − 10𝑡₁ + 10𝑖)𝑥² + (10𝑡₂³ − 10𝑡₂² − 10𝑡₂ + 10𝑖)𝑥
𝑡₁, 𝑡₂ ∈ ℂ, |𝑡₁| = |𝑡₂| = 1
The world in 2025 is completely bonkers! For example, I went on a podcast! youtu.be/ioMKDonZcgg - at Wookash Podcast we talked about Unity, Blender and some other stuff. I’ve used up my talking quota for half a year.
I will admit to finding the “all problems are caused by evil and we could fix every problem without any trade-offs” worldview pretty draining and immature.
It's incredibly beautiful! Probably my favorite recent discovery. Found it through Floating Points' latest Boiler Room set.
243 chars of #GLSL:
vec2 p=(FC.xy-r*.5)/r.y*mat2(9,-2,2,9),v;for(float i;i++<50.;o+=(cos(sin(i)*vec4(7,4,2,1))+1.)*exp(sin(i*i+t))/length(max(v,vec2(v.x*(3.+snoise2D(p+vec2(t/.3,i)))/1e2,v.y*.21))))v=p+cos(i*i+t+p.x*.2+vec2(0,11))*3.;o=tanh(pow(o/3e2,vec4(1.5)));