Suspected bad files

Please wait while JavaScript is catching up…

If a site keeps producing new broken resources filling up the archive (e.g., file download pages with unique session IDs), contact me and we'll make a more automated block.

80e2af819993a1388528633c98d26308f5cfc69501eea4c275b42739c5eaf499 (text/html, 31093 bytes)

https://peisik.untergrund.net/rendering_eternal_fortress/

Other downloads for this URL: text/html, 37 kB

This downloaded file in a sandbox that disallows loading or navigating to external resources:

00000000: 3c 21 44 4f 43 54 59 50 45 20 68 74 6d 6c 20 50 55 42 4c 49 43 20 22 2d 2f 2f 57 33 43 2f 2f 44  <!DOCTYPE html PUBLIC "-//W3C//D
00000020: 54 44 20 58 48 54 4d 4c 20 31 2e 30 20 54 72 61 6e 73 69 74 69 6f 6e 61 6c 2f 2f 45 4e 22 20 22  TD XHTML 1.0 Transitional//EN" "
00000040: 68 74 74 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 54 52 2f 78 68 74 6d 6c 31 2f 44 54 44 2f  http://www.w3.org/TR/xhtml1/DTD/
00000060: 78 68 74 6d 6c 31 2d 74 72 61 6e 73 69 74 69 6f 6e 61 6c 2e 64 74 64 22 3e 0d 0a 3c 68 74 6d 6c  xhtml1-transitional.dtd">..<html
00000080: 20 78 6d 6c 6e 73 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 78   xmlns="http://www.w3.org/1999/x
000000a0: 68 74 6d 6c 22 3e 0d 0a 3c 68 65 61 64 3e 0d 0a 20 20 3c 6d 65 74 61 20 68 74 74 70 2d 65 71 75  html">..<head>..  <meta http-equ
000000c0: 69 76 3d 22 43 6f 6e 74 65 6e 74 2d 54 79 70 65 22 20 63 6f 6e 74 65 6e 74 3d 22 74 65 78 74 2f  iv="Content-Type" content="text/
000000e0: 68 74 6d 6c 3b 20 63 68 61 72 73 65 74 3d 75 74 66 2d 38 22 20 2f 3e 0d 0a 20 20 3c 6d 65 74 61  html; charset=utf-8" />..  <meta
00000100: 20 68 74 74 70 2d 65 71 75 69 76 3d 22 43 6f 6e 74 65 6e 74 2d 53 74 79 6c 65 2d 54 79 70 65 22   http-equiv="Content-Style-Type"
00000120: 20 63 6f 6e 74 65 6e 74 3d 22 74 65 78 74 2f 63 73 73 22 20 2f 3e 0d 0a 20 20 3c 6d 65 74 61 20   content="text/css" />..  <meta 
00000140: 6e 61 6d 65 3d 22 67 65 6e 65 72 61 74 6f 72 22 20 63 6f 6e 74 65 6e 74 3d 22 70 61 6e 64 6f 63  name="generator" content="pandoc
00000160: 22 20 2f 3e 0d 0a 20 20 3c 6d 65 74 61 20 6e 61 6d 65 3d 22 61 75 74 68 6f 72 22 20 63 6f 6e 74  " />..  <meta name="author" cont
00000180: 65 6e 74 3d 22 63 63 65 20 2f 20 50 65 69 73 69 6b 5e 4d 61 63 61 75 20 45 78 70 6f 72 74 73 22  ent="cce / Peisik^Macau Exports"
000001a0: 20 2f 3e 0d 0a 20 20 3c 74 69 74 6c 65 3e 52 65 6e 64 65 72 69 6e 67 20 45 74 65 72 6e 61 6c 20   />..  <title>Rendering Eternal 
000001c0: 46 6f 72 74 72 65 73 73 3c 2f 74 69 74 6c 65 3e 0d 0a 20 20 3c 73 74 79 6c 65 20 74 79 70 65 3d  Fortress</title>..  <style type=
000001e0: 22 74 65 78 74 2f 63 73 73 22 3e 63 6f 64 65 7b 77 68 69 74 65 2d 73 70 61 63 65 3a 20 70 72 65  "text/css">code{white-space: pre
00000200: 3b 7d 3c 2f 73 74 79 6c 65 3e 0d 0a 20 20 3c 6d 65 74 61 20 63 6f 6e 74 65 6e 74 3d 27 77 69 64  ;}</style>..  <meta content='wid
00000220: 74 68 3d 64 65 76 69 63 65 2d 77 69 64 74 68 2c 20 69 6e 69 74 69 61 6c 2d 73 63 61 6c 65 3d 31  th=device-width, initial-scale=1
00000240: 27 20 6e 61 6d 65 3d 27 76 69 65 77 70 6f 72 74 27 2f 3e 0d 0a 20 20 3c 6c 69 6e 6b 20 72 65 6c  ' name='viewport'/>..  <link rel
00000260: 3d 22 73 74 79 6c 65 73 68 65 65 74 22 20 68 72 65 66 3d 22 68 61 63 6b 65 72 2e 63 73 73 22 3e  ="stylesheet" href="hacker.css">
00000280: 0d 0a 3c 2f 68 65 61 64 3e 0d 0a 3c 62 6f 64 79 3e 0d 0a 3c 64 69 76 20 69 64 3d 22 68 65 61 64  ..</head>..<body>..<div id="head
000002a0: 65 72 22 3e 0d 0a 3c 68 31 20 63 6c 61 73 73 3d 22 74 69 74 6c 65 22 3e 52 65 6e 64 65 72 69 6e  er">..<h1 class="title">Renderin
000002c0: 67 20 45 74 65 72 6e 61 6c 20 46 6f 72 74 72 65 73 73 3c 2f 68 31 3e 0d 0a 3c 68 32 20 63 6c 61  g Eternal Fortress</h1>..<h2 cla
000002e0: 73 73 3d 22 61 75 74 68 6f 72 22 3e 63 63 65 20 2f 20 50 65 69 73 69 6b 5e 4d 61 63 61 75 20 45  ss="author">cce / Peisik^Macau E
00000300: 78 70 6f 72 74 73 3c 2f 68 32 3e 0d 0a 3c 68 33 20 63 6c 61 73 73 3d 22 64 61 74 65 22 3e 41 70  xports</h2>..<h3 class="date">Ap
00000320: 72 69 6c 20 31 33 74 68 2c 20 32 30 32 30 3c 2f 68 33 3e 0d 0a 3c 2f 64 69 76 3e 0d 0a 3c 70 3e  ril 13th, 2020</h3>..</div>..<p>
00000340: 3c 61 20 68 72 65 66 3d 22 69 6d 67 2f 73 63 72 65 65 6e 73 68 6f 74 2e 70 6e 67 22 3e 20 3c 69  <a href="img/screenshot.png"> <i
00000360: 6d 67 20 73 72 63 3d 22 69 6d 67 2f 73 63 72 65 65 6e 73 68 6f 74 5f 74 68 75 6d 62 2e 6a 70 67  mg src="img/screenshot_thumb.jpg
00000380: 22 20 61 6c 74 3d 22 41 20 76 69 65 77 20 6f 66 20 74 68 65 20 4d 61 6e 64 65 6c 62 6f 78 20 46  " alt="A view of the Mandelbox F
000003a0: 75 6c 6c 20 73 69 7a 65 22 20 2f 3e 20 3c 2f 61 3e 3c 2f 70 3e 0d 0a 3c 70 3e 3c 73 70 61 6e 20  ull size" /> </a></p>..<p><span 
000003c0: 63 6c 61 73 73 3d 22 6e 61 6d 65 22 3e 45 74 65 72 6e 61 6c 20 46 6f 72 74 72 65 73 73 3c 2f 73  class="name">Eternal Fortress</s
000003e0: 70 61 6e 3e 20 28 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 70 6f 75 65 74  pan> (<a href="https://www.pouet
00000400: 2e 6e 65 74 2f 70 72 6f 64 2e 70 68 70 3f 77 68 69 63 68 3d 38 35 33 30 33 22 3e 70 6f 75 65 74  .net/prod.php?which=85303">pouet
00000420: 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 66 74 70 3a 2f 2f 66 74 70 2e 75 6e 74 65 72 67 72  </a>, <a href="ftp://ftp.untergr
00000440: 75 6e 64 2e 6e 65 74 2f 75 73 65 72 73 2f 70 65 69 73 69 6b 2f 65 74 65 72 6e 61 6c 5f 66 6f 72  und.net/users/peisik/eternal_for
00000460: 74 72 65 73 73 5f 70 61 72 74 79 76 65 72 73 69 6f 6e 34 2e 7a 69 70 22 3e 7a 69 70 3c 2f 61 3e  tress_partyversion4.zip">zip</a>
00000480: 2c 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 65  , <a href="https://github.com/se
000004a0: 65 63 65 2f 65 74 65 72 6e 61 6c 2d 66 6f 72 74 72 65 73 73 2d 64 65 6d 6f 22 3e 73 6f 75 72 63  ece/eternal-fortress-demo">sourc
000004c0: 65 3c 2f 61 3e 29 20 69 73 20 64 65 6d 6f 20 62 79 20 50 65 69 73 69 6b 20 66 6f 72 20 52 65 76  e</a>) is demo by Peisik for Rev
000004e0: 69 73 69 6f 6e 20 4f 6e 6c 69 6e 65 20 32 30 32 30 2e 20 49 74 20 77 61 73 20 62 6f 72 6e 20 6f  ision Online 2020. It was born o
00000500: 75 74 20 6f 66 20 64 65 73 69 72 65 20 74 6f 20 73 68 6f 77 20 74 68 65 20 4d 61 6e 64 65 6c 62  ut of desire to show the Mandelb
00000520: 6f 78 20 66 72 61 63 74 61 6c 20 61 73 20 61 20 6d 61 73 73 69 76 65 20 73 70 72 61 77 6c 69 6e  ox fractal as a massive sprawlin
00000540: 67 20 73 74 72 75 63 74 75 72 65 20 69 74 20 69 73 2e 20 54 68 69 73 20 70 61 67 65 20 69 73 20  g structure it is. This page is 
00000560: 61 20 72 61 6d 62 6c 69 6e 67 20 64 75 6d 70 20 6f 66 20 74 65 63 68 6e 69 63 61 6c 20 74 68 6f  a rambling dump of technical tho
00000580: 75 67 68 74 73 20 6f 6e 20 69 74 73 20 72 65 6e 64 65 72 69 6e 67 20 74 65 63 68 6e 69 71 75 65  ughts on its rendering technique
000005a0: 73 2e 3c 2f 70 3e 0d 0a 3c 63 65 6e 74 65 72 3e 0d 0a 3c 69 66 72 61 6d 65 20 77 69 64 74 68 3d  s.</p>..<center>..<iframe width=
000005c0: 22 38 30 30 22 20 68 65 69 67 68 74 3d 22 34 38 30 22 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f  "800" height="480" src="https://
000005e0: 77 77 77 2e 79 6f 75 74 75 62 65 2d 6e 6f 63 6f 6f 6b 69 65 2e 63 6f 6d 2f 65 6d 62 65 64 2f 47  www.youtube-nocookie.com/embed/G
00000600: 51 74 43 72 56 51 51 55 5a 63 3f 73 74 61 72 74 3d 32 22 20 66 72 61 6d 65 62 6f 72 64 65 72 3d  QtCrVQQUZc?start=2" frameborder=
00000620: 22 30 22 20 61 6c 6c 6f 77 3d 22 61 63 63 65 6c 65 72 6f 6d 65 74 65 72 3b 20 61 75 74 6f 70 6c  "0" allow="accelerometer; autopl
00000640: 61 79 3b 20 65 6e 63 72 79 70 74 65 64 2d 6d 65 64 69 61 3b 20 67 79 72 6f 73 63 6f 70 65 3b 20  ay; encrypted-media; gyroscope; 
00000660: 70 69 63 74 75 72 65 2d 69 6e 2d 70 69 63 74 75 72 65 22 20 61 6c 6c 6f 77 66 75 6c 6c 73 63 72  picture-in-picture" allowfullscr
00000680: 65 65 6e 3e 0d 0a 3c 2f 69 66 72 61 6d 65 3e 0d 0a 3c 2f 63 65 6e 74 65 72 3e 0d 0a 3c 68 32 20  een>..</iframe>..</center>..<h2 
000006a0: 69 64 3d 22 72 65 6e 64 65 72 69 6e 67 2d 73 74 61 74 69 63 2d 66 72 61 63 74 61 6c 2d 67 65 6f  id="rendering-static-fractal-geo
000006c0: 6d 65 74 72 79 22 3e 52 65 6e 64 65 72 69 6e 67 20 73 74 61 74 69 63 20 66 72 61 63 74 61 6c 20  metry">Rendering static fractal 
000006e0: 67 65 6f 6d 65 74 72 79 3c 2f 68 32 3e 0d 0a 3c 70 3e 41 20 62 69 67 20 70 72 6f 62 6c 65 6d 20  geometry</h2>..<p>A big problem 
00000700: 77 69 74 68 20 74 68 65 20 4d 61 6e 64 65 6c 62 6f 78 20 69 73 20 74 68 61 74 20 69 74 27 73 20  with the Mandelbox is that it's 
00000720: 68 65 61 76 79 20 74 6f 20 72 61 79 6d 61 72 63 68 20 6f 6e 20 6c 6f 6e 67 20 76 69 65 77 20 64  heavy to raymarch on long view d
00000740: 69 73 74 61 6e 63 65 73 2e 20 54 68 69 73 20 6d 61 6b 65 73 20 69 74 20 70 72 65 74 74 79 20 6d  istances. This makes it pretty m
00000760: 75 63 68 20 69 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 73 68 6f 6f 74 20 6d 6f 72 65 20 74 68 61  uch impossible to shoot more tha
00000780: 6e 20 6f 6e 65 20 72 61 79 20 70 65 72 20 70 69 78 65 6c 20 61 74 20 72 65 61 6c 74 69 6d 65 20  n one ray per pixel at realtime 
000007a0: 66 72 61 6d 65 72 61 74 65 73 2c 20 73 6f 20 74 68 65 20 69 6d 61 67 65 20 77 69 6c 6c 20 61 70  framerates, so the image will ap
000007c0: 70 65 61 72 20 6e 6f 69 73 79 2e 20 57 65 20 6b 6e 6f 77 20 74 68 65 20 66 72 61 63 74 61 6c 20  pear noisy. We know the fractal 
000007e0: 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 74 61 74 69 63 2c 20 73 6f 20 69 74 20 73 68 6f 6c  is completely static, so it shol
00000800: 64 20 62 65 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 72 65 75 73 65 20 72 61 79 6d 61 72 63 68 69  d be possible to reuse raymarchi
00000820: 6e 67 20 72 65 73 75 6c 74 73 20 61 63 72 6f 73 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 61 6d  ng results across different fram
00000840: 65 73 2e 20 48 6f 77 20 64 6f 20 77 65 20 73 74 6f 72 65 20 74 68 65 20 72 65 73 75 6c 74 73 20  es. How do we store the results 
00000860: 61 63 72 6f 73 73 20 66 72 61 6d 65 73 3f 3c 2f 70 3e 0d 0a 3c 68 33 20 69 64 3d 22 64 79 6e 61  across frames?</p>..<h3 id="dyna
00000880: 6d 69 63 2d 70 6f 69 6e 74 2d 63 6c 6f 75 64 2d 72 65 6e 64 65 72 69 6e 67 22 3e 44 79 6e 61 6d  mic-point-cloud-rendering">Dynam
000008a0: 69 63 20 70 6f 69 6e 74 20 63 6c 6f 75 64 20 72 65 6e 64 65 72 69 6e 67 3c 2f 68 33 3e 0d 0a 3c  ic point cloud rendering</h3>..<
000008c0: 70 3e 49 6e 20 74 68 65 20 64 65 6d 6f 20 65 76 65 72 79 74 68 69 6e 67 20 69 73 20 61 63 74 75  p>In the demo everything is actu
000008e0: 61 6c 6c 79 20 61 20 70 6f 69 6e 74 20 63 6c 6f 75 64 2e 20 59 6f 75 20 63 61 6e 20 74 68 69 6e  ally a point cloud. You can thin
00000900: 6b 20 6f 66 20 69 74 20 61 73 20 61 20 70 61 72 74 69 63 6c 65 20 73 79 73 74 65 6d 20 77 68 65  k of it as a particle system whe
00000920: 72 65 20 65 61 63 68 20 70 61 72 74 69 63 6c 65 20 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73  re each particle is completely s
00000940: 74 61 74 69 63 20 61 6e 64 20 6c 69 76 65 73 20 66 6f 72 20 31 30 20 66 72 61 6d 65 73 20 6f 72  tatic and lives for 10 frames or
00000960: 20 6c 6f 6e 67 65 72 2e 20 54 68 65 20 63 6f 6f 6c 20 74 68 69 6e 67 20 61 62 6f 75 74 20 74 68   longer. The cool thing about th
00000980: 69 73 20 69 73 20 74 68 61 74 20 65 76 65 6e 20 69 66 20 79 6f 75 20 63 61 6e 20 61 66 66 6f 72  is is that even if you can affor
000009a0: 64 20 6f 6e 6c 79 20 6f 6e 65 20 72 61 79 20 70 65 72 20 70 69 78 65 6c 20 65 76 65 72 79 20 66  d only one ray per pixel every f
000009c0: 72 61 6d 65 2c 20 79 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 6b 65 65 70 20 74 68 65 20 72 65 73  rame, you can still keep the res
000009e0: 75 6c 74 69 6e 67 20 70 6f 69 6e 74 20 66 6f 72 20 6c 61 74 65 72 20 66 72 61 6d 65 73 2e 20 53  ulting point for later frames. S
00000a00: 6f 20 69 74 27 73 20 61 20 76 61 72 69 61 74 69 6f 6e 20 6f 66 20 74 65 6d 70 6f 72 61 6c 20 73  o it's a variation of temporal s
00000a20: 75 70 65 72 20 73 61 6d 70 6c 69 6e 67 2c 20 69 66 20 79 6f 75 20 77 69 6c 6c 2e 3c 2f 70 3e 0d  uper sampling, if you will.</p>.
00000a40: 0a 3c 70 3e 57 65 20 73 74 6f 72 65 20 32 30 20 6d 69 6c 6c 69 6f 6e 20 70 6f 69 6e 74 73 20 69  .<p>We store 20 million points i
00000a60: 6e 20 61 20 62 69 67 20 66 61 74 20 72 69 6e 67 20 62 75 66 66 65 72 2c 20 61 6e 64 20 6f 6e 20  n a big fat ring buffer, and on 
00000a80: 65 61 63 68 20 66 72 61 6d 65 20 77 65 20 61 64 64 20 72 6f 75 67 68 6c 79 20 74 77 6f 20 6d 69  each frame we add roughly two mi
00000aa0: 6c 6c 69 6f 6e 20 6e 65 77 20 6f 6e 65 73 20 74 6f 20 69 74 2c 20 64 72 6f 70 70 69 6e 67 20 6f  llion new ones to it, dropping o
00000ac0: 75 74 20 74 68 65 20 6f 6c 64 65 73 74 20 70 6f 69 6e 74 73 2e 3c 2f 70 3e 0d 0a 3c 70 3e 54 68  ut the oldest points.</p>..<p>Th
00000ae0: 65 20 6f 76 65 72 61 6c 6c 20 70 69 70 65 6c 69 6e 65 20 69 73 20 74 68 65 20 66 6f 6c 6c 6f 77  e overall pipeline is the follow
00000b00: 69 6e 67 2e 3c 2f 70 3e 0d 0a 3c 6f 6c 20 73 74 79 6c 65 3d 22 6c 69 73 74 2d 73 74 79 6c 65 2d  ing.</p>..<ol style="list-style-
00000b20: 74 79 70 65 3a 20 64 65 63 69 6d 61 6c 22 3e 0d 0a 3c 6c 69 3e 52 61 79 6d 61 72 63 68 20 32 20  type: decimal">..<li>Raymarch 2 
00000b40: 6d 69 6c 6c 69 6f 6e 20 70 6f 69 6e 74 73 20 61 6e 64 20 61 64 64 20 74 68 65 6d 20 74 6f 20 74  million points and add them to t
00000b60: 68 65 20 72 69 6e 67 20 62 75 66 66 65 72 2c 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 73 70 6c 61 74 20  he ring buffer,</li>..<li>splat 
00000b80: 61 6c 6c 20 32 30 20 6d 69 6c 6c 69 6f 6e 20 70 6f 69 6e 74 73 20 69 6e 20 74 68 65 20 72 69 6e  all 20 million points in the rin
00000ba0: 67 20 62 75 66 66 65 72 2c 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 72 65 73 6f 6c 76 65 20 66 69 6e 61  g buffer,</li>..<li>resolve fina
00000bc0: 6c 20 63 6f 6c 6f 72 73 20 61 6e 64 20 61 6c 70 68 61 73 2c 20 61 6e 64 3c 2f 6c 69 3e 0d 0a 3c  l colors and alphas, and</li>..<
00000be0: 6c 69 3e 61 70 70 6c 79 20 70 6f 73 74 70 72 6f 63 65 73 73 69 6e 67 2e 3c 2f 6c 69 3e 0d 0a 3c  li>apply postprocessing.</li>..<
00000c00: 2f 6f 6c 3e 0d 0a 3c 70 3e 45 76 65 72 79 20 70 6f 69 6e 74 20 63 6f 6e 74 72 69 62 75 74 65 73  /ol>..<p>Every point contributes
00000c20: 20 74 6f 20 73 6f 6d 65 20 70 65 72 2d 70 69 78 65 6c 20 77 65 69 67 68 74 65 64 20 61 76 65 72   to some per-pixel weighted aver
00000c40: 61 67 65 20 63 6f 6c 6f 72 20 75 73 69 6e 67 20 61 20 76 61 72 69 61 74 69 6f 6e 20 6f 66 20 3c  age color using a variation of <
00000c60: 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 6a 63 67 74 2e 6f 72 67 2f 70 75 62 6c 69 73 68 65  a href="http://jcgt.org/publishe
00000c80: 64 2f 30 30 30 32 2f 30 32 2f 30 39 2f 22 3e 57 65 69 67 68 74 65 64 20 42 6c 65 6e 64 65 64 20  d/0002/02/09/">Weighted Blended 
00000ca0: 4f 72 64 65 72 2d 49 6e 64 65 70 65 6e 64 65 6e 74 20 54 72 61 6e 73 70 61 72 65 6e 63 79 3c 2f  Order-Independent Transparency</
00000cc0: 61 3e 20 28 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 63 61 73 75 61 6c 2d 65 66 66 65 63  a> (<a href="http://casual-effec
00000ce0: 74 73 2e 62 6c 6f 67 73 70 6f 74 2e 63 6f 6d 2f 32 30 31 35 2f 30 33 2f 69 6d 70 6c 65 6d 65 6e  ts.blogspot.com/2015/03/implemen
00000d00: 74 65 64 2d 77 65 69 67 68 74 65 64 2d 62 6c 65 6e 64 65 64 2d 6f 72 64 65 72 2e 68 74 6d 6c 22  ted-weighted-blended-order.html"
00000d20: 3e 62 6c 6f 67 20 70 6f 73 74 3c 2f 61 3e 29 20 62 79 20 4d 6f 72 67 61 6e 20 4d 63 47 75 69 72  >blog post</a>) by Morgan McGuir
00000d40: 65 20 61 6e 64 20 4c 6f 75 69 73 20 42 61 76 6f 69 6c 2e 20 54 68 65 20 69 64 65 61 20 69 73 20  e and Louis Bavoil. The idea is 
00000d60: 74 6f 20 67 69 76 65 20 63 6c 6f 73 65 72 20 70 6f 69 6e 74 73 20 6d 6f 72 65 20 77 65 69 67 68  to give closer points more weigh
00000d80: 74 20 74 68 61 6e 20 74 68 6f 73 65 20 66 61 72 20 61 77 61 79 20 66 72 6f 6d 20 74 68 65 20 63  t than those far away from the c
00000da0: 61 6d 65 72 61 2c 20 73 6f 20 69 6e 20 74 68 65 20 65 6e 64 20 61 20 77 65 69 67 68 74 65 64 20  amera, so in the end a weighted 
00000dc0: 61 76 65 72 61 67 65 20 77 69 6c 6c 20 67 69 76 65 20 70 72 6f 70 65 72 20 6f 63 63 6c 75 73 69  average will give proper occlusi
00000de0: 6f 6e 2e 20 41 63 63 75 6d 75 6c 61 74 69 6f 6e 20 69 73 20 64 6f 6e 65 20 76 69 61 20 69 6e 74  on. Accumulation is done via int
00000e00: 65 67 65 72 20 61 74 6f 6d 69 63 73 2e 20 4d 79 20 63 6f 64 65 20 64 69 64 6e 27 74 20 73 75 70  eger atomics. My code didn't sup
00000e20: 70 6f 72 74 20 70 72 6f 70 65 72 20 70 65 72 2d 70 6f 69 6e 74 20 61 6c 70 68 61 73 20 74 68 6f  port proper per-point alphas tho
00000e40: 75 67 68 2c 20 73 65 65 20 74 68 65 20 6c 61 74 74 65 72 20 70 61 72 74 20 6f 66 20 74 68 69 73  ugh, see the latter part of this
00000e60: 20 70 61 67 65 20 66 6f 72 20 63 61 76 65 61 74 73 2e 3c 2f 70 3e 0d 0a 3c 70 3e 54 68 65 20 64   page for caveats.</p>..<p>The d
00000e80: 6f 77 6e 73 69 64 65 20 6f 66 20 74 68 69 73 20 61 70 70 72 6f 61 63 68 20 69 73 20 74 68 61 74  ownside of this approach is that
00000ea0: 20 73 70 6c 61 74 74 69 6e 67 20 70 6f 69 6e 74 73 20 63 61 6e 20 67 65 74 20 76 65 72 79 20 65   splatting points can get very e
00000ec0: 78 70 65 6e 73 69 76 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 73 70 65 63 75 6c 61 72 20  xpensive. For example, specular 
00000ee0: 73 68 61 64 69 6e 67 20 6e 65 65 64 73 20 74 6f 20 62 65 20 64 6f 6e 65 20 31 30 78 20 70 65 72  shading needs to be done 10x per
00000f00: 20 70 69 78 65 6c 20 65 76 65 72 79 20 66 72 61 6d 65 2e 20 54 68 65 72 65 20 61 72 65 20 61 6c   pixel every frame. There are al
00000f20: 73 6f 20 73 69 78 20 33 32 2d 62 69 74 20 61 74 6f 6d 69 63 20 77 72 69 74 65 73 20 66 6f 72 20  so six 32-bit atomic writes for 
00000f40: 65 61 63 68 20 76 69 73 69 62 6c 65 20 70 6f 69 6e 74 20 74 6f 20 61 63 74 75 61 6c 6c 79 20 64  each visible point to actually d
00000f60: 72 61 77 20 69 74 2e 3c 2f 70 3e 0d 0a 3c 68 33 20 69 64 3d 22 73 61 6d 70 6c 69 6e 67 2d 66 72  raw it.</p>..<h3 id="sampling-fr
00000f80: 6f 6d 2d 74 68 65 2d 66 75 74 75 72 65 22 3e 53 61 6d 70 6c 69 6e 67 20 66 72 6f 6d 20 74 68 65  om-the-future">Sampling from the
00000fa0: 20 66 75 74 75 72 65 3c 2f 68 33 3e 0d 0a 3c 70 3e 4e 6f 77 20 77 65 20 68 61 76 65 20 74 65 6d   future</h3>..<p>Now we have tem
00000fc0: 70 6f 72 61 6c 20 73 75 70 65 72 20 73 61 6d 70 6c 69 6e 67 20 62 75 74 20 77 68 65 6e 20 74 68  poral super sampling but when th
00000fe0: 65 20 63 61 6d 65 72 61 20 6d 6f 76 65 73 20 77 65 20 67 65 74 20 61 72 74 69 66 61 63 74 73 20  e camera moves we get artifacts