<story><title>Domain Repetition</title><url>https://iquilezles.org/articles/sdfrepetition/</url></story><parent_chain></parent_chain><comment><author>ianthehenry</author><text>If you aren&amp;#x27;t familiar with SDFs, some rough intuition for what&amp;#x27;s going on here: you have some primitive functions that define shapes, you have combinators that distort shapes, and you then have combinators that distort &lt;i&gt;space&lt;/i&gt;. And then when you trace rays through distorted space, you render an image that &lt;i&gt;looks&lt;/i&gt; like your combinators distorted the shapes themselves, but really you&amp;#x27;re distorting the path that your rays travel along.&lt;p&gt;The operation here is that you distort space with the &lt;i&gt;modulo&lt;/i&gt; operator. So now you have space that repeats -- and when you trace rays through this repeated space, you&amp;#x27;re basically teleporting the rays back to the origin (using mod in the classic &amp;quot;wrapping around&amp;quot; fashion) every time they pass out of a section of space.&lt;p&gt;And then ultimately the ray will collide with the shape -- the one shape -- that exists in this distorted space, after wrapping around some number of times.&lt;p&gt;If the idea of &amp;quot;taking the mod of space&amp;quot; is intriguing, I would encourage you to try playing with SDFs! It&amp;#x27;s a really incredible technique for real-time rendering of &amp;quot;3D vector graphics.&amp;quot;&lt;p&gt;Also shameless plug for my SDF playground &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;bauble.studio&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;bauble.studio&lt;/a&gt;, and an example program that uses instanced repetition to render an &amp;quot;infinite&amp;quot; number of varying shapes:&lt;p&gt;&lt;pre&gt;&lt;code&gt;    (tile [400 0 300] (fn [i]
      (torus :z 60 30
      | twist :y (sin (t + (hash i * 10)) * 0.05)
      | rotate :pi :y (t * hash i) :z 0.05
      | move :x 50
      | mirror :r 10 :x
      | fresnel
      | slow 0.5)))
&lt;/code&gt;&lt;/pre&gt;
Obviously a lot less compelling than the author&amp;#x27;s examples...</text></comment>
<story><title>Domain Repetition</title><url>https://iquilezles.org/articles/sdfrepetition/</url></story><parent_chain></parent_chain><comment><author>Liquix</author><text>&amp;quot;The Timeless&amp;quot; [0] is an example of what can be achieved with domain repetition over signed distance functions - the video is of a self-contained 64kb executable running in realtime! One of the authors Johann &amp;quot;Cupe&amp;quot; Korndörfer also gave a great talk [1] regarding the creative&amp;#x2F;development process.&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;yewtu.be&amp;#x2F;watch?v=ie4u2i_5OdE&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;yewtu.be&amp;#x2F;watch?v=ie4u2i_5OdE&lt;/a&gt;&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;yewtu.be&amp;#x2F;watch?v=s8nFqwOho-s&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;yewtu.be&amp;#x2F;watch?v=s8nFqwOho-s&lt;/a&gt;</text></comment>