Acerola

Acerola

@acerola.gg

Graphics Programming Youtuber Formerly Intel, Sony Studio Bend https://www.youtube.com/@Acerola_t alt: @acewola.bsky.social

7.1K followers231 following208 posts

I think something in me kind of broke when I was designing my iterated function system particles and I saw with my own eyes how any 3 function ifs is just a warped sierpinski triangle. Like i wasn't supposed to see that

I've been working on a little paint program lately and writing a script on DLSS5 since no one else is doing it. what have you been working on

Frame captured Deadlock to check it out a bit and these bats in Mina's portrait are actual 3D models lol, Deadlock really has a nice sleeper toon shader

While the optimizations have been cool so far they only apply to separable filters it's great the 41x41 gaussian can be reduced from 4ms to 0.04ms on a 4090 but as you can see the 41x41 circle blur just mega mogs it aesthetically, which sadly stays 4ms as it's not separable.

Hopefully this can give you a better appreciation for depth of field shaders that have existed over the past 15 years as they do a pretty good job approximating that circle blur for far less investment through a lot of different methods which I'll implement another time

I'm going to play fields of mistria now tho and start writing the video script thanks for looking at my silly photos I've been trying to create my own references now that I have a nice snazzy camera and also you never know what images online were ai generated now

The dual kawase blur is the industry standard algorithm that works the same as the kawase while also downscaling the render and upscaling back to full resolution each pass (O(n) -> O(logn)) On 4090: 0.04ms On 1660: 0.42ms (at 1080p) a 50% increase over the original kawase blur!

There's infinite variations of the dual kawase blur, the idea behind it has existed since around 2007 I implemented the arm version, but I found that downscaling to 1/16 was too much so I stop at 1/8 with a 1.5x increase in sample distance to make it identical to the other blurs

As we all know, successive box blurs approximate a gaussian Below is a 41x41 gaussian with std deviation 7.0, the double box is a 17x17 kernel, and the kawase is a traditional 5 pass Gaussian: 0.19ms Double Box: 0.14ms Kawase: 0.1ms (at 1080p on a 4090)

After separation these 2D blurs become much faster obviously but the kawase blur reigns supreme with a 50% speedup over its effective gaussian equivalent even after separation On my 1660 though it's Gaussian: 2.0ms Double Box: 1.7ms Kawase: 1.04ms

These are all nondestructive optimizations so far as no downscaling/upscaling is involved, so I'm excited to see if the dual kawase shows a measurable improvement on the 4090 considering 0.1ms is already pretty fast but it'll definitely give a big boost to the 1660

even my 4090 kneels to a basic naive 2D box blur, a 40x40 blur kernel costs 4.3ms at 1080p yikes

a nitpick I had with compositor effects was the parameter list bloat tacked on to each one causing a lot of clutter you can actually just remove them by overriding _validate_property and disabling the flag that serializes them though

GodotCon Boston is coming up soon next month! Once again I'll be there doing a talk, if you're in the New England area you should definitely come to the event! They were kind enough to give me a discount code for those interested so be sure to use this link: tickets.godotengine.org/scene-tree/g...

please look forward to The Complete History of Tetris Game Design releasing as soon as I finish editing all of it

finished a (mostly) faithful replica of The New Tetris (1999) This was the first game to feature the sonic drop (drop without locking), the ability to hold on to a piece, and the bag randomizer instead of purely random incoming shapes

If you're interested in some cool shader work definitely reach out to Dan!

Dan Salvato@dansalva.to

Bluesky-exclusive outreach: I'm looking to contract a technical artist with a specific passion for applying math to create mesmerizing visual effects, e.g. shaders, particle effects, or other demoscene-like displays. Please feel free to spread the word and send portfolios/examples via reply or email

finished a (mostly) faithful replica of Tetris The Grand Master (1998) This is the first tetris game that is fully 3D, has automatic wallkicks, a drop preview, and the ability to let you rotate the piece before it spawns in.

finished a (mostly) faithful replica of Tetris Plus (1996) This is the first single player tetris game to feature more than one incoming shape, although it's kind of hard to see them.

finished a (mostly) faithful replica of Tetris X (1996). This is the first Tetris game on playstation after 7 years of nintendo exclusivity and the first game to feature simple rotation wallkicks (with the sole exception of Atari Tetris released 8 years prior).

finished a (mostly) faithful replica of Tetris 2 (1991). 30 years ahead of the curve on modern game design this entry made the game worse by improving the graphics

finished a (mostly) faithful replica of NES Tetris (1988). This game is mechanically equivalent to Game Boy Tetris.

finished a (mostly) faithful replica of Atari Tetris (1988) This was the first game to feature an open ceiling to prevent rotation collisions with the top of the board. I'd also like to say fuck you to Atari for making such a graphically impressive game compared to its contemporaries

finished a (mostly) faithful replica of Game Boy Tetris (1989) fun fact this is the first game to feature clockwise rotation

finished my faithful replica of the original ibm pc tetris, unsurprisingly it sucks and is not fun to play but it looks cool. surely the gameboy tetris is better