Ancestors

Toot

Written by Rune Skovbo Johansen on 2025-01-23 at 15:30

New dithering method dropped

I call it Surface-Stable Fractal Dithering and I've released it as open source along with this explainer video of how it works.

Explainer video:

https://www.youtube.com/watch?v=HPqGaIMVuLs

Source repository:

https://github.com/runevision/Dither3D

[#]gamedev #vfx

=> View attached media

=> More informations about this toot | More toots from runevision@mastodon.gamedev.place

Descendants

Written by Rune Skovbo Johansen on 2025-01-24 at 17:16

Several people have suggested I write a paper / white paper / Siggraph submission about Surface-Stable Fractal Dithering. But I haven't written in academic style since my Master's thesis 15 years ago, and don't really want to either.

In case anyone with experience writing such papers might be interested in writing a paper about Surface-Stable Fractal Dithering with me as consultant and co-author (if such an arrangement is a thing), I'd be up for discussing that.

=> More informations about this toot | More toots from runevision@mastodon.gamedev.place

Written by slembcke on 2025-01-23 at 15:43

@runevision Oh excellent, this looks so good! I tried something similar with hierarchical blue noise but couldn’t quite get it working right. Mine was just curiosity toy though.

=> More informations about this toot | More toots from slembcke@mastodon.gamedev.place

Written by Rune Skovbo Johansen on 2025-01-23 at 15:59

@slembcke Thanks! Yeah I’ve been wondering too if it could work for blue noise, but it seems like an insanely over-constrained problem.

=> More informations about this toot | More toots from runevision@mastodon.gamedev.place

Written by Craig P on 2025-01-23 at 15:46

@runevision It's so straightforward, I don't know how the Obra Dinn devs didn't think of it. 😅

=> More informations about this toot | More toots from Craigp@mastodon.social

Written by Rune Skovbo Johansen on 2025-01-23 at 16:00

@Craigp 😅

=> More informations about this toot | More toots from runevision@mastodon.gamedev.place

Written by zakzak on 2025-01-23 at 16:02

@Craigp @runevision

Well question would go to: Lucas Pope @dukope

=> More informations about this toot | More toots from scyzoryk@mastodon.online

Written by Rune Skovbo Johansen on 2025-01-23 at 16:07

@scyzoryk @Craigp @dukope Well to get serious, like I say in the video, I don’t actually think my dithering would have been better to use in Obra Dinn. But anyway, hi Lucas! Thanks for inspiring me and hope you like the video and how it covers Obra Dinn dithering.

=> More informations about this toot | More toots from runevision@mastodon.gamedev.place

Written by zakzak on 2025-01-23 at 17:01

@runevision @Craigp @dukope

Yeah i don’t see Obra Dinn working as well with this technique. Seems too deliberate a choice for the author

=> More informations about this toot | More toots from scyzoryk@mastodon.online

Written by Lucas Pope on 2025-01-24 at 04:55

@runevision Incredible work! Looks absolutely fantastic and “Johansen Fractal Dither” is a great name.

=> More informations about this toot | More toots from dukope@mastodon.social

Written by root42 on 2025-01-24 at 08:49

@runevision @scyzoryk @Craigp @dukope I haven't watched your video yet, but my guess is this is object space/texture space versus screen space for Obra Dinn. I like the way Obra Dinn looks because it is a proper screen space dithering where every dither point has the same size. Looks really like an old Mac or Hercules graphics game.

=> More informations about this toot | More toots from root42@chaos.social

Written by Rune Skovbo Johansen on 2025-01-24 at 08:52

@root42 Yep, all that is covered in the video :)

=> More informations about this toot | More toots from runevision@mastodon.gamedev.place

Written by root42 on 2025-01-24 at 09:04

@runevision good to know! Will put it on my watch later list...

=> More informations about this toot | More toots from root42@chaos.social

Written by jack on 2025-01-24 at 10:13

@runevision @scyzoryk @Craigp @dukope It would be interesting to know if subsurface fractal rendering allows recognisable faces (as in Obra Dinn), or if different dithering patterns can be used for different materials!

=> More informations about this toot | More toots from jackeric@beige.party

Written by Ducky Fella on 2025-01-23 at 16:03

@runevision I have no idea what this is but it looks sick

=> More informations about this toot | More toots from duckyfella@cupoftea.social

Written by Patrick Hogenboom on 2025-01-23 at 16:05

@runevision Wow, I bet it looks awesome in stereo and VR

=> More informations about this toot | More toots from PatHightree@mastodon.gamedev.place

Written by Rune Skovbo Johansen on 2025-01-23 at 16:14

@PatHightree I haven’t tried. At first I thought it might looks weird at shallow angles of vertical surfaces, where the UV frequency differs per eye which would cause more dots to be shown for one eye than the other. But actually for anisotropic frequencies I use the lowest frequency, which should be the same for both eyes, so it should be fine.

=> More informations about this toot | More toots from runevision@mastodon.gamedev.place

Written by Patrick Hogenboom on 2025-01-23 at 16:45

@runevision Ah yes, I hadn't though about whether they'd be coherent for left and right eye. If so, it would produce a LOT of stereoscopic cues which are spatially coherent. Just like how particle systems are major spatial eye candy in VR

=> More informations about this toot | More toots from PatHightree@mastodon.gamedev.place

Written by The Seven Voyages Of Steve on 2025-01-23 at 16:19

@runevision Yaaas, love this effect

=> More informations about this toot | More toots from sinbad@mastodon.gamedev.place

Written by Aegir 🏴󠁧󠁢󠁷󠁬󠁳󠁿🇪🇺🏳️‍🌈 on 2025-01-23 at 17:16

@runevision Gaming for e-ink displays!

=> More informations about this toot | More toots from aegir@toot.wales

Written by Adam Nelson on 2025-01-23 at 18:34

@runevision I wonder if it would be possible to implement this on the #Playdate. I've seen some limited 3D games on it before, but it really pushes the limits of the hardware.

=> More informations about this toot | More toots from arnelson@fosstodon.org

Written by Rune Skovbo Johansen on 2025-01-23 at 19:08

@arnelson Right, I don’t have a Playdate and don’t know much about it’s capabilities but if others want to test it I’d definitely love to see the results.

=> More informations about this toot | More toots from runevision@mastodon.gamedev.place

Written by Aras Pranckevičius on 2025-01-23 at 19:12

@runevision @arnelson my guess: probably would not fit within CPU budget ( :playdate: does not have a GPU). You can barely do 3D to begin with, and then almost everyone slaps a screen-fixed blue noise texture and calls it a day. I did so too here https://aras-p.info/blog/2024/05/20/Crank-the-World-Playdate-demo/

=> More informations about this toot | More toots from aras@mastodon.gamedev.place

Written by Aras Pranckevičius on 2025-01-23 at 18:40

@runevision great explanation, thanks! Love the short two year pause :)

=> More informations about this toot | More toots from aras@mastodon.gamedev.place

Written by Brett Edmond Carlock on 2025-01-23 at 18:42

@runevision

Gorgeous!

[#]gamedev #vfx

=> More informations about this toot | More toots from Brett_E_Carlock@mastodon.online

Written by Doug on 2025-01-23 at 18:57

@runevision Woah, that looks incredible! 🤩

=> More informations about this toot | More toots from digitalfx@mastodon.social

Written by 🤖 Lazaro el dog on 2025-01-23 at 19:21

@runevision

This looks great 👍🏽

=> More informations about this toot | More toots from LazaroDTormes@mastodon.social

Written by Jeremiah Fieldhaven on 2025-01-23 at 21:47

@runevision Really nice effect, and excellent explainer video!

=> More informations about this toot | More toots from JeremiahFieldhaven@mastodon.gamedev.place

Written by skategoat 🐐 🇵🇸 on 2025-01-24 at 01:21

@runevision this is fireeee!!!!

=> More informations about this toot | More toots from felipe@treehouse.systems

Written by it's just robb now (he/they) on 2025-01-24 at 05:32

@runevision That was a fascinating video and I'm gonna check out the repo tomorrow. Thank you for making it.

=> More informations about this toot | More toots from herorobb@mastodon.gamedev.place

Written by dwardoric on 2025-01-24 at 06:15

@runevision Wow, very cool!

=> More informations about this toot | More toots from dwardoric@chaos.social

Written by flight • reflex on 2025-01-24 at 13:39

@runevision as a variation - you can apply this same concept to draw lines along u and v contours for a surface stable hatching/crosshatched effect

=> More informations about this toot | More toots from flightreflex@hachyderm.io

Written by Rune Skovbo Johansen on 2025-01-24 at 15:19

@flightreflex Yeah I've seen some effects a bit like this. Probably my shader could do this just by sampling with the u coordinate set to zero and then the v coordinate set to zero, and combine the results.

=> More informations about this toot | More toots from runevision@mastodon.gamedev.place

Written by Ludovic Archivist Lagouardette on 2025-01-24 at 14:07

@runevision

@Melcx regarde ce truc bonhomme

=> More informations about this toot | More toots from Archivist@social.linux.pizza

Written by Melcx on 2025-01-24 at 14:12

@Archivist @runevision Nice!

=> More informations about this toot | More toots from Melcx@mastodon.social

Written by Julian Fietkau on 2025-01-24 at 17:31

@runevision It's not my scene, but I'll tag @topher_batty, he might know someone who could benefit from being part of a publication like that.

=> More informations about this toot | More toots from julian@fietkau.social

Written by Awesome New Year Robot on 2025-01-24 at 23:22

@runevision You don't actually have to write in academic style, as long as you clearly explain what it is you're solving, how you're solving it, and what's interesting about your particular approach.

=> More informations about this toot | More toots from StompyRobot@mastodon.gamedev.place

Written by Rune Skovbo Johansen on 2025-01-25 at 09:43

@StompyRobot Are there any papers you could point me to as reference/examples of what you mean by not having to write in an academic style? I thought for example that it's mandatory to have a survey of existing work, which means reading and referencing other academic papers, which in itself is a very academic writing thing to do.

=> More informations about this toot | More toots from runevision@mastodon.gamedev.place

Written by Wojciech Jarosz on 2025-01-25 at 14:42

@runevision @StompyRobot just watched the video and came here to suggest you publish this, only to find others had suggested the same thing!

I would suggest you look into submitting to #JCGT. JCGT (https://jcgt.org/index.html) is aimed to be much more of a practitioners' journal than an academic one. It's meant for modest, practical contributions that clearly work. It values reproducibility highly, but unlike SIGGRAPH, it doesn’t expect comparisons to 10 different techniques (just the most relevant baseline). Think tech blog post++ in archival form. See bullet points here: https://jcgt.org/write.html.

=> More informations about this toot | More toots from wjarosz@mathstodon.xyz

Written by Wojciech Jarosz on 2025-01-25 at 14:56

This is the review form we use, which gives reviewers (and authors) a sense of how JCGT papers are evaluated for publication. https://jcgt.org/files/review-form.txt

=> More informations about this toot | More toots from wjarosz@mathstodon.xyz

Written by Rune Skovbo Johansen on 2025-01-25 at 16:30

@wjarosz Thanks for the suggestion. It looks nice, but one snag is that my source code can't count for their submission. "Any source code and data provided must be under a non-restrictive Open Source license (e.g., MIT, BSD) so that it is directly usable by readers. Papers with usable source code are much more likely to be accepted." Mine is licensed under Mozilla Public License 2.0 which has some minor restrictions.

=> More informations about this toot | More toots from runevision@mastodon.gamedev.place

Written by Aras Pranckevičius on 2025-01-25 at 16:18

@wjarosz @runevision @StompyRobot seconded for JCGT! It tends to have very "short and to the point, practical" papers. I have reviewed several in the past, and the review process is very much oriented to "does this make sense, and is it practical?", instead of "bbut is this Proper Science and not Merely Engineering" that some other venues employ.

=> More informations about this toot | More toots from aras@mastodon.gamedev.place

Written by Awesome New Year Robot on 2025-01-25 at 15:47

@runevision anything between practitioners reports to collection books like the "gems" series.

Or trade websites!

The post-dead-tree world is more fragmented, but there's plenty of opportunity to let more people see your work.

Btw, as I asked in the YouTube comments: I wonder how much of this could be done with MIP map hardware? It's already does slice selection and gradient computation for you.

=> More informations about this toot | More toots from StompyRobot@mastodon.gamedev.place

Written by Mat on 2025-01-25 at 21:21

@runevision Thanks for making this video and presenting the technique so elegantly! Definitely earned my subscription, and I will reference this if I ever need to write a dithering effect.

=> More informations about this toot | More toots from allpurposemat@mastodon.gamedev.place

Written by Flower on 2025-01-26 at 07:48

@runevision Impressive.

=> More informations about this toot | More toots from flower@pony.social

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113878385443998039
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
491.147733 milliseconds
Gemini-to-HTML Time
12.587833 milliseconds

This content has been proxied by September (ba2dc).