Hacker News new | past | comments | ask | show | jobs | submit login
Avoiding visible texture repetition (2015) (iquilezles.org)
112 points by worldsayshi on March 10, 2023 | hide | past | favorite | 9 comments



All of the given techniques will produce visible artifacts on harder edges when viewed up close, because they apparently involve crossfading between multiple copies with different orientation/reflection. That might be why all the examples are very zoomed out.

As another comment points out, Wang Tiles are the basis for many better techniques [1] [2]

[1] https://scholar.google.com/scholar?cluster=10382979889643467...

[2] https://scholar.google.com/scholar?cites=1038297988964346798...


Interesting, given the recent update from the Kerbal Space Program developers regarding the performance of the newly released (EA) KSP2, where one performance issue seems to have been the technique in order to avoid visible texture repetition in their tiling.

https://forum.kerbalspaceprogram.com/index.php?/topic/214806...

> eight of the top ten worst-offenders are related to PQS+. PQS stands for Procedural Quad System and it’s the algorithm used to generate planet terrains.

> Following that goal, the team started with the PQS design from KSP1 and added modern graphics features for KSP2’s PQS+. As development progressed on KSP2, more and more features were added to PQS+ to keep pushing the artistic envelope.

The resolution they went for seems to be to disable the system for low performance systems. And for the future:

> In the medium term, my first major project on this team is to design and build a next-generation terrain system – what we’re calling the CBT system (it uses a Concurrent Binary Tree data structure, but it could also stand for Celestial Body Terrain).

Paper on CBT: https://onrendering.com/data/papers/cbt/ConcurrentBinaryTree...

One of the people who worked on educating the public about CBT and integrating it in Unity also seems to appear on the reddit submission: https://old.reddit.com/r/KerbalSpaceProgram/comments/11o0rye...

> @theFrenchDutch: Holy shit I've worked on this. Concurrent Binary Trees are a paper from my colleague Jonathan Dupuy and I've worked with him integrating it into Unity and presenting it at SIGGRAPH twice.



I found a similar success with some project I've done when tiling a couple of overlapping textures with differing prime factors as their scale, I got the idea learning about cicada genrations arriving every X prime years that way the texture still repeats but only every multiple of ALL prime numbers involved (much larger distances)


Yeah, The Cicada Principle[0] is a really neat trick. I remember it doing the rounds in web design circles back in the early 2010's

https://web.archive.org/web/20131201024352/http://www.sitepo...


It looks nice in a lot of design contexts. I made a spinning progress indicator for an internal prototype at work in 2010 or so that had three concentric gear-like rings with rotations that were each a prime number of frames. It was less than 100 frames total, but was very unlikely to visisbly repeat any given arrangement of the rings before loading finished.


Nice write-up! I wish they gave some more examples with different underlying textures.

Eg for grass, clouds, a brickwall (just as an example where you wouldn't want this technique, but seeing the effects would be instructive), etc.


Always an upvote for Inigo. Check out his other posts and YouTube channel too!


the 90s web called and would like your tiling effect.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: