Welcome to Twibooru! Anonymous posting only; no content restrictions beyond pony-related and legal; comments are disabled by default (Settings -> Comments). Read me!
Uploaded by Anonymous #EC0D
 3840x2160 PNG 11.53 MB
Size: 3840x2160 | Tagged: safe, artist:lemondrop, artist:oleanderthehorse, derpibooru import, twilight sparkle, twilight sparkle (alicorn), alicorn, pony, beaker, c++, chair, coffee mug, derpibooru exclusive, female, happy birthday mlp:fim, image, laboratory, lamp, microscope, mlp fim's tenth anniversary, monitor, mug, png, programming, ray tracing, raytrace, record player, solo, statue

Description:

For this rather special MLP anniversary I decided to redo a project I did for a previous anniversary where I wrote a custom renderer to make up for my lack of artistic talent (as seen here >>1560448), but this time using the new skills I have learned since then. In general 10 years ago I barely knew anything about programming, and similarly <span class="caps">MLP</span> and the community surrounding it were very different compared to what they are today. Over the past decade though <span class="caps">MLP</span> has always been a thing in my life alongside all my learning and development, so I think this project highlights the change that has happened over that period of time quite well. Hopefully there will be another 10 years of pony from this point on as well.


As for some more technical details, the implementation is a fairly standard unidirectional backwards path tracer written in C++17 which runs on the <span class="caps">CPU</span>. Some notable features it includes are: a custom <span class="caps">PBR</span> material model (supporting opaque/translucent dielectrics and conductors), basic <span class="caps">SAH</span> <span class="caps">BVH</span> construction and ray acceleration, <span class="caps">BSDF</span> importance sampling (using <span class="caps">VNDF</span> sampling for <span class="caps">GGX</span>), next event estimation, basic power/area weighted light sampling, arbitrary emissive geometry, russian roulette path termination, a thin lens camera model (for simple depth of field), multiple importance sampling, and <span class="caps">ACES</span> tonemapping.


The image itself was rendered at 3840×2160 with 10,000 samples per pixel on a Ryzen 9 3900X in about 12 hours with the help of my friend anthropy (I only have a 3800X). The scene presented within the renderer was made specifically for this project by OleanderTheHorse, most notably being authored to satisfy the renderer’s lack of texture support by using purely per-face materials and a more low-poly style. Note to render this scene in a reasonable amount of time a modified version of it was used that actually utilized multi-threading, otherwise such a noise-free render would’ve taken an eternity on a single thread.


Finally, the source code for this project was designed to be as minimal as reasonably doable even if that came at the expense of micro-performance optimizations, mainly for artistic purposes. The actual source will be publicly available soon, I just have not yet finished crunching it down to a small <span class="caps">ASCII</span> art program yet as it takes a lot of time to do by hand and I want to get this submitted before the deadline. Additionally running the code itself will be fairly impractical due to how long a single threaded version of it takes to execute, but the purpose is more just to be artistic with its presentation rather than practical.

safe2390116 artist:lemondrop3 artist:oleanderthehorse52 derpibooru import2813507 twilight sparkle397445 twilight sparkle (alicorn)156998 alicorn333843 pony1516388 beaker257 c++22 chair11192 coffee mug2141 derpibooru exclusive17326 female1555001 happy birthday mlp:fim1451 image1129990 laboratory910 lamp4361 microscope98 mlp fim's tenth anniversary599 monitor1103 mug6638 png662189 programming136 ray tracing3 raytrace4 record player247 solo1507903 statue3392
Source:

not provided yet