<story><title>Path Tracing Quake in Blender</title><url>http://matthewearl.github.io/2021/06/20/quake-blender/</url></story><parent_chain></parent_chain><comment><author>ogurechny</author><text>A lot of valuable work on Blender side, but the main goal is questionable, and author explains why.&lt;p&gt;Pre-calculated lighting had very little to do with physical correctness, it was purely an artistic placement of light sources in a specific map processed with a specific tool (official or third party) with specific defaults. Two adjacent rooms could be lit in a very different manner because map maker decided it looked good; two maps coming from different sources could not be expected to share any common lighting principles. Quirks like overbright values were not even consistent among officially supported renderers, and were inherited by later Quake and Source engines (which would add their own quirks and light processing options). To put it shortly, there was no reference for the final result except the final result itself, and it often was unstable (changing textures, geometry, or processing constants would shift the look too much, and require fixes).&lt;p&gt;To make the game look as intended, you have to somehow rely on original lightmaps that are tightly coupled with original low resolution geometry and textures. Given that people still argue which of the original renderers gives the “true” picture, I have my doubts about making a new one that pretends some average light model is good enough for everything. Even for episode 1, hand-placed lights had to be reintroduced into the system, and ad-hoc fixes had to be done, but manual fixes are not an option for all the existing maps.</text></comment>
<story><title>Path Tracing Quake in Blender</title><url>http://matthewearl.github.io/2021/06/20/quake-blender/</url></story><parent_chain></parent_chain><comment><author>klodolph</author><text>&amp;gt; Texture coordinates can be encoded as Blender UV maps.&lt;p&gt;Will note that one minor detail about the Quake map format you may find interesting... Quake does not encode the texture coordinates for vertexes in the map. Instead, Quake encodes the coordinate &lt;i&gt;system&lt;/i&gt; for textures of each face. This is transformed to screen-space during rendering.&lt;p&gt;This is different from modern renderers, which record the texture coordinates of vertexes.&lt;p&gt;Quake&amp;#x27;s system is less flexible, can&amp;#x27;t be used for character models, and can be inconvenient during asset creation, but it is a bit faster and more convenient at run-time. When you&amp;#x27;re rendering, you want to know the gradient of texture coordinates in the X and Y direction on screen, which is easy to calculate using Quake&amp;#x27;s system.&lt;p&gt;(Obviously the author knows this, but it wasn&amp;#x27;t spelled out in the article.)</text></comment>