<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PBR on Jan Kelemen - Personal site</title><link>https://jk.rubberdax.xyz/tags/pbr/</link><description>Recent content in PBR on Jan Kelemen - Personal site</description><generator>Hugo</generator><language>en</language><copyright>© [Jan Kelemen](https://www.rubberdax.xyz)</copyright><lastBuildDate>Sat, 26 Oct 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://jk.rubberdax.xyz/tags/pbr/index.xml" rel="self" type="application/rss+xml"/><item><title>Rendering Physically Based Bugs</title><link>https://jk.rubberdax.xyz/post/2024-10-26-rendering-physically-based-bugs/</link><pubDate>Sat, 26 Oct 2024 00:00:00 +0000</pubDate><guid>https://jk.rubberdax.xyz/post/2024-10-26-rendering-physically-based-bugs/</guid><description>&lt;p&gt;I continued the work on the &lt;a href="https://en.wikipedia.org/wiki/Physically_based_rendering"&gt;PBR&lt;/a&gt; rendering demo for my game engine &lt;a href="https://github.com/jan-kelemen/niku"&gt;jan-kelemen/niku&lt;/a&gt;.
Although I thought most of the preparation work was already done, I guess it&amp;rsquo;s never enough for things like this.&lt;/p&gt;
&lt;p&gt;Here is a complete &lt;a href="https://github.com/jan-kelemen/niku/compare/19489b3fc14df1d69e1b876e3849941ac104ec36...aa9c25f3440eee946501ec95de4dc155bebd00f2"&gt;diff&lt;/a&gt;
between the state shown previously and as it is now.
The video demonstrates a couple of scenes and assets shown previously.
Illumination is done with point lights using linear attenuation.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/288VO4wo24M?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;p&gt;I switched to using &lt;a href="https://github.com/KhronosGroup/ToneMapping/tree/main/PBR_Neutral"&gt;PBR Neutral&lt;/a&gt; tone mapping and real linear to sRGB conversion instead of Reinhard tone mapping and gamma correction.
They look better, &lt;a href="https://graphics-programming.org/resources/tonemapping/index.html"&gt;here&lt;/a&gt; is a nice comparison of various tone mapping functions.&lt;/p&gt;</description></item><item><title>Preparing For Physically Based Rendering</title><link>https://jk.rubberdax.xyz/post/2024-09-27-preparing-for-physically-based-rendering/</link><pubDate>Fri, 27 Sep 2024 00:00:00 +0000</pubDate><guid>https://jk.rubberdax.xyz/post/2024-09-27-preparing-for-physically-based-rendering/</guid><description>&lt;p&gt;First official devlog of my game engine &lt;a href="https://github.com/jan-kelemen/niku"&gt;jan-kelemen/niku&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Since I&amp;rsquo;ve moved the code to a dedicated repository, I&amp;rsquo;ve done some work on the rendering side of things.
The first goal is to get a &lt;a href="https://en.wikipedia.org/wiki/Physically_based_rendering"&gt;Physically Based Rendering (PBR)&lt;/a&gt; working in at least somewhat reusable state for other projects.
I started by making a demo application that displays glTF files. The current state of the demo is shown in the video below.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/WdiDkjNU1aw?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;p&gt;It doesn&amp;rsquo;t do any PBR for now, but most of the preparation work is done, I&amp;rsquo;ll start working on the PBR soon™.&lt;/p&gt;</description></item></channel></rss>