<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Graphics Tech: Lighting Comparison	</title>
	<atom:link href="https://the-witness.net/news/2010/03/graphics-tech-lighting-comparison/feed/" rel="self" type="application/rss+xml" />
	<link>https://the-witness.net/news/2010/03/graphics-tech-lighting-comparison/</link>
	<description>Explore an abandoned island.</description>
	<lastBuildDate>Wed, 07 Apr 2010 20:04:33 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.9</generator>
	<item>
		<title>
		By: DOLLS		</title>
		<link>https://the-witness.net/news/2010/03/graphics-tech-lighting-comparison/comment-page-1/#comment-194</link>

		<dc:creator><![CDATA[DOLLS]]></dc:creator>
		<pubDate>Wed, 07 Apr 2010 20:04:33 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=196#comment-194</guid>

					<description><![CDATA[It rather seems to be an artifact of unfiltered PCS-style shadows.]]></description>
			<content:encoded><![CDATA[<p>It rather seems to be an artifact of unfiltered PCS-style shadows.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Rouven		</title>
		<link>https://the-witness.net/news/2010/03/graphics-tech-lighting-comparison/comment-page-1/#comment-183</link>

		<dc:creator><![CDATA[Rouven]]></dc:creator>
		<pubDate>Wed, 31 Mar 2010 10:00:34 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=196#comment-183</guid>

					<description><![CDATA[@nine: This algorithm will produce soft shadows for local lights (spotlights and point lights), but those scenes are lit by sunlight, which is directional and doesn&#039;t produce penumbrae. The dithering on the hard shadow edge is part of the visual style, I would assume.]]></description>
			<content:encoded><![CDATA[<p>@nine: This algorithm will produce soft shadows for local lights (spotlights and point lights), but those scenes are lit by sunlight, which is directional and doesn&#8217;t produce penumbrae. The dithering on the hard shadow edge is part of the visual style, I would assume.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Blow		</title>
		<link>https://the-witness.net/news/2010/03/graphics-tech-lighting-comparison/comment-page-1/#comment-181</link>

		<dc:creator><![CDATA[Jonathan Blow]]></dc:creator>
		<pubDate>Wed, 31 Mar 2010 03:08:13 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=196#comment-181</guid>

					<description><![CDATA[I actually don&#039;t know how many bounces we&#039;ll do.  It might even vary from place to place.  We&#039;ll see!]]></description>
			<content:encoded><![CDATA[<p>I actually don&#8217;t know how many bounces we&#8217;ll do.  It might even vary from place to place.  We&#8217;ll see!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Matt		</title>
		<link>https://the-witness.net/news/2010/03/graphics-tech-lighting-comparison/comment-page-1/#comment-180</link>

		<dc:creator><![CDATA[Matt]]></dc:creator>
		<pubDate>Wed, 31 Mar 2010 03:06:12 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=196#comment-180</guid>

					<description><![CDATA[Very nice. I&#039;m assuming you&#039;re aiming for 3 bounces for the shipping version? It usually seems to be the sweet spot.]]></description>
			<content:encoded><![CDATA[<p>Very nice. I&#8217;m assuming you&#8217;re aiming for 3 bounces for the shipping version? It usually seems to be the sweet spot.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jonathan Blow		</title>
		<link>https://the-witness.net/news/2010/03/graphics-tech-lighting-comparison/comment-page-1/#comment-179</link>

		<dc:creator><![CDATA[Jonathan Blow]]></dc:creator>
		<pubDate>Tue, 30 Mar 2010 22:18:17 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=196#comment-179</guid>

					<description><![CDATA[We did play around with pre-rendering some lighting in Max, early on, to establish quality targets, but I don&#039;t feel like that is a feasible way to go as a permanent process.  Why would you think the quality would be higher?  Serious question.

There are a lot of reasons why we do it ourselves.  I&#039;ll try to remember as many as I can here:

* When baking the lightmaps, the baking process is aware of the full scene, not just the local building or whatever.  3D Studio MAX would choke if you tried to load the full scene of an open-world game into it.  It just can&#039;t do it.  So if you try to do this stuff in an editor, you have to somehow do a lot of extra work to build lightmaps that don&#039;t have discontinuities or blatant wrongness in junction areas.  

* Since a lot of work has to be done one way or another, it&#039;s better to do it in a way that&#039;s not tied to a 3rd-party tool that you have to pay for every year, that is flaky and crashes all the time, and is slow, and is barely even being developed at this point, because the company that now owns it has a monopoly on 3D modeling tools (they also bought Maya and SoftImage).  Internally, Max is a pile of shit; this is not a controversial statement, and you will find general agreement on that fact among those who have ever made a plugin for it.  So as long as we have to do a substantial amount of work, better to do that work in a way that creates an asset that the company can re-use in the long term, on the next game or whatever, without creating a maintenance and production liability.

* Workflow-wise, it is just much nicer to have this stuff in the in-game editor.  You can be playing the game, decide you don&#039;t like something, hit a key to pop open the editor to that exact game location, move an object, then run a low-quality rebake and see the results very quickly, without ever leaving the game.  

* Because this is our own code, we can bake lightmaps on whatever platform we want with minimal effort (aside from the effort of porting to that platform, which in general does not take long).  Next week we could be baking lightmaps on the PS3 if we decided that was a really good idea.

* If we want it for rendering purposes, it is pretty easy to augment our lightmaps with directional information -- either spherical harmonics or a spatial vector basis the way the Source Engine does things.  I have seen hacks to do this kind of thing in rendering packages, but they are definitely difficult to do and don&#039;t allow for a lot of nuance.  Maybe this kind of option has been built into something like Maxwell very recently, but I would be surprised at that, because it is strictly a realtime app kind of thing to want.

* We are going to be doing some things that involve generating lightmaps that add to each other, for e.g. apertures that open and close.  Doing this in Max is another world database navigation kind of problem and has all the issues discussed above.

* Because this is our own code, we can give it out to other developers who also want a solution like this.


That&#039;s all I am remembering for now.  There are certainly other reasons too.]]></description>
			<content:encoded><![CDATA[<p>We did play around with pre-rendering some lighting in Max, early on, to establish quality targets, but I don&#8217;t feel like that is a feasible way to go as a permanent process.  Why would you think the quality would be higher?  Serious question.</p>
<p>There are a lot of reasons why we do it ourselves.  I&#8217;ll try to remember as many as I can here:</p>
<p>* When baking the lightmaps, the baking process is aware of the full scene, not just the local building or whatever.  3D Studio MAX would choke if you tried to load the full scene of an open-world game into it.  It just can&#8217;t do it.  So if you try to do this stuff in an editor, you have to somehow do a lot of extra work to build lightmaps that don&#8217;t have discontinuities or blatant wrongness in junction areas.  </p>
<p>* Since a lot of work has to be done one way or another, it&#8217;s better to do it in a way that&#8217;s not tied to a 3rd-party tool that you have to pay for every year, that is flaky and crashes all the time, and is slow, and is barely even being developed at this point, because the company that now owns it has a monopoly on 3D modeling tools (they also bought Maya and SoftImage).  Internally, Max is a pile of shit; this is not a controversial statement, and you will find general agreement on that fact among those who have ever made a plugin for it.  So as long as we have to do a substantial amount of work, better to do that work in a way that creates an asset that the company can re-use in the long term, on the next game or whatever, without creating a maintenance and production liability.</p>
<p>* Workflow-wise, it is just much nicer to have this stuff in the in-game editor.  You can be playing the game, decide you don&#8217;t like something, hit a key to pop open the editor to that exact game location, move an object, then run a low-quality rebake and see the results very quickly, without ever leaving the game.  </p>
<p>* Because this is our own code, we can bake lightmaps on whatever platform we want with minimal effort (aside from the effort of porting to that platform, which in general does not take long).  Next week we could be baking lightmaps on the PS3 if we decided that was a really good idea.</p>
<p>* If we want it for rendering purposes, it is pretty easy to augment our lightmaps with directional information &#8212; either spherical harmonics or a spatial vector basis the way the Source Engine does things.  I have seen hacks to do this kind of thing in rendering packages, but they are definitely difficult to do and don&#8217;t allow for a lot of nuance.  Maybe this kind of option has been built into something like Maxwell very recently, but I would be surprised at that, because it is strictly a realtime app kind of thing to want.</p>
<p>* We are going to be doing some things that involve generating lightmaps that add to each other, for e.g. apertures that open and close.  Doing this in Max is another world database navigation kind of problem and has all the issues discussed above.</p>
<p>* Because this is our own code, we can give it out to other developers who also want a solution like this.</p>
<p>That&#8217;s all I am remembering for now.  There are certainly other reasons too.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Peterdk		</title>
		<link>https://the-witness.net/news/2010/03/graphics-tech-lighting-comparison/comment-page-1/#comment-178</link>

		<dc:creator><![CDATA[Peterdk]]></dc:creator>
		<pubDate>Mon, 29 Mar 2010 23:07:34 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=196#comment-178</guid>

					<description><![CDATA[I was wondering, why do you use your own tool for the pre-rendering of the lighting?
Why not use a professional render plugin for something like 3DSMAX like Maxwell and bake the textures with it? I would think the quality would be much higher.

Or is it the fun part of creating your own implementation? Or cost?]]></description>
			<content:encoded><![CDATA[<p>I was wondering, why do you use your own tool for the pre-rendering of the lighting?<br />
Why not use a professional render plugin for something like 3DSMAX like Maxwell and bake the textures with it? I would think the quality would be much higher.</p>
<p>Or is it the fun part of creating your own implementation? Or cost?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Andy		</title>
		<link>https://the-witness.net/news/2010/03/graphics-tech-lighting-comparison/comment-page-1/#comment-176</link>

		<dc:creator><![CDATA[Andy]]></dc:creator>
		<pubDate>Mon, 29 Mar 2010 18:40:01 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=196#comment-176</guid>

					<description><![CDATA[Interesting as always. Thanks for sharing.]]></description>
			<content:encoded><![CDATA[<p>Interesting as always. Thanks for sharing.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: nine		</title>
		<link>https://the-witness.net/news/2010/03/graphics-tech-lighting-comparison/comment-page-1/#comment-175</link>

		<dc:creator><![CDATA[nine]]></dc:creator>
		<pubDate>Mon, 29 Mar 2010 10:28:04 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=196#comment-175</guid>

					<description><![CDATA[Nice! But I hope you blur those hard shadow edges in the final game.]]></description>
			<content:encoded><![CDATA[<p>Nice! But I hope you blur those hard shadow edges in the final game.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Bill		</title>
		<link>https://the-witness.net/news/2010/03/graphics-tech-lighting-comparison/comment-page-1/#comment-174</link>

		<dc:creator><![CDATA[Bill]]></dc:creator>
		<pubDate>Mon, 29 Mar 2010 08:07:05 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=196#comment-174</guid>

					<description><![CDATA[Good job. Glad I get to learn stuff from your posts. Keep up the good work, and keep me posted!!]]></description>
			<content:encoded><![CDATA[<p>Good job. Glad I get to learn stuff from your posts. Keep up the good work, and keep me posted!!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: castano		</title>
		<link>https://the-witness.net/news/2010/03/graphics-tech-lighting-comparison/comment-page-1/#comment-173</link>

		<dc:creator><![CDATA[castano]]></dc:creator>
		<pubDate>Mon, 29 Mar 2010 08:05:51 +0000</pubDate>
		<guid isPermaLink="false">https://the-witness.net/news/?p=196#comment-173</guid>

					<description><![CDATA[It might also be interesting to show the time it takes when using adaptive sampling with higher quality levels (0.75 or 1) with higher resolution cube maps. I would expect that to get pretty close to the quality required for shipping. 

It may also be surprising that the difference in the timings between 32x32 and 64x64 cube-maps is so small. I suspect the rendering time is pretty much the same, because the bottleneck is on the geometry pipe, and that the difference comes primarily from the cost of transferring and integrating 4 times more texels.]]></description>
			<content:encoded><![CDATA[<p>It might also be interesting to show the time it takes when using adaptive sampling with higher quality levels (0.75 or 1) with higher resolution cube maps. I would expect that to get pretty close to the quality required for shipping. </p>
<p>It may also be surprising that the difference in the timings between 32&#215;32 and 64&#215;64 cube-maps is so small. I suspect the rendering time is pretty much the same, because the bottleneck is on the geometry pipe, and that the difference comes primarily from the cost of transferring and integrating 4 times more texels.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
