Difference between revisions of "Diffusely convolved cube map"

From polycount
Jump to: navigation, search
m
(image and formatting fixes)
Line 1: Line 1:
= Diffusely Convolved Cube Map =
+
= Introduction =
 +
A ''diffusely convolved cube map'' is simply a blurred-down version of a regular [[CubeMap|cube map]]. When a [[:Category:Shaders|shader]] adds the cube map to the model's diffuse map the result is similar to global-illumination, except it is extremely efficient performance-wise.
  
 +
[[image:whatif_nmech_env-alone.jpg|frame|left|The convolved cube map on a normalmapped model. <BR> Image by [http://www.linkedin.com/in/ericchadwick Eric Chadwick] and [http://www.whatif-productions.com/ Whatif Productions LLC].]]<br clear="all"/>
  
 +
[[image:whatif_nmech_env+lgt.jpg|frame|left|The convolved cube map on a normalmapped model. <BR> Image by [http://www.linkedin.com/in/ericchadwick Eric Chadwick] and [http://www.whatif-productions.com/ Whatif Productions LLC].]]<br clear="all"/>
  
<span id="I"></span><span id="Introduction"></span>
 
== Introduction ==
 
A ''diffusely convolved cube map'' is simply a blurred-down version of a regular [[CubeMap|cube map]]. When a [[Category:Shaders|shader]] adds the cube map to the model's diffuse map the result is similar to global-illumination, except it is extremely efficient performance-wise.
 
  
{| border="1" cellpadding="2" cellspacing="0"
+
= AMD Cubemapgen =
|  [[Image:DiffuselyConvolvedCubeMap$tmp.320.whatif_nmech_env-alone.jpg]]
+
|  [[Image:DiffuselyConvolvedCubeMap$tmp.320.whatif_nmech_env+lgt.jpg]]
+
|-
+
|  The convolved cube map on a normalmapped model. [[attachment:whatif_nmech_env-alone.jpg|Actual size]]<<BR>><span style="font-size: smaller">image by[http://www.linkedin.com/in/ericchadwick Eric Chadwick],[http://www.whatif-productions.com/ Whatif Productions LLC]</span>
+
|  Convolved cube map plus lighting. [[attachment:whatif_nmech_env+lgt.jpg|Actual size]]<<BR>><span style="font-size: smaller">image by[http://www.linkedin.com/in/ericchadwick Eric Chadwick],[http://www.whatif-productions.com/ Whatif Productions LLC]</span>
+
|}
+
  
<span id="AMDCubemapgen"></span><span id="AC"></span>
+
[http://code.google.com/p/cubemapgen/ Cubemapgen] is great for filtering down cube maps. Sébastien Lagarde made [http://seblagarde.wordpress.com/2012/06/10/amd-cubemapgen-for-physically-based-rendering/ a physically based rendering mod]
== AMD Cubemapgen ==
+
  
[http://code.google.com/p/cubemapgen/ Cubemapgen] is great for filtering down cube maps. Sébastien Lagarde made [http://seblagarde.wordpress.com/2012/06/10/amd-cubemapgen-for-physically-based-rendering/ a physically based rendering mod].
+
[[image:Cubemapgen_Tips.jpg|frame|left|Some tips for filtering cubemaps in Cubemapgen. <BR> Image by [http://www.linkedin.com/in/ericchadwick Eric Chadwick].]]<br clear="all"/>
 
+
{| border="1" cellpadding="2" cellspacing="0"
+
|-
+
|}
+
  
=== Cubemapgen Cube Faces ===
+
== Cubemapgen Cube Faces ==
  
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
Line 116: Line 105:
 
|}
 
|}
  
=== Cubemapgen Custom Meshes ===
+
== Cubemapgen Custom Meshes ==
 
You can load your own geometry in Cubemapgen using the ''Load Object'' button, really helps to see what settings are working well.  
 
You can load your own geometry in Cubemapgen using the ''Load Object'' button, really helps to see what settings are working well.  
  
Line 137: Line 126:
 
* [http://www.ericchadwick.com/examples/files/2005.10.14_DDSformat_and_NormalMapFilter.zip NVIDIA Photoshop Plugins 8.21 beta]
 
* [http://www.ericchadwick.com/examples/files/2005.10.14_DDSformat_and_NormalMapFilter.zip NVIDIA Photoshop Plugins 8.21 beta]
  
== Links ==
+
= Links =
  
 
* [http://zellersamuel.wordpress.com/2010/03/06/cubemaps/ Cubemaps how-to and why] by Zeller Samuel<<BR>>A great introduction to cubemaps.
 
* [http://zellersamuel.wordpress.com/2010/03/06/cubemaps/ Cubemaps how-to and why] by Zeller Samuel<<BR>>A great introduction to cubemaps.

Revision as of 04:32, 24 November 2014

Introduction

A diffusely convolved cube map is simply a blurred-down version of a regular cube map. When a shader adds the cube map to the model's diffuse map the result is similar to global-illumination, except it is extremely efficient performance-wise.

The convolved cube map on a normalmapped model.
Image by Eric Chadwick and Whatif Productions LLC.

The convolved cube map on a normalmapped model.
Image by Eric Chadwick and Whatif Productions LLC.


AMD Cubemapgen

Cubemapgen is great for filtering down cube maps. Sébastien Lagarde made a physically based rendering mod

Some tips for filtering cubemaps in Cubemapgen.
Image by Eric Chadwick.

Cubemapgen Cube Faces

Cubemapgen 3ds Max Maya CryENGINE 3 Unity
+X _RT Left -X
-X _LF Right +X
+Y _UP Top +Y
-Y _DN Bottom -Y
+Z _BK Front (+Z)
-Z _FR Back (-Z)
Cubemapgen 3ds Max Maya CryENGINE 3 Unity
c00 Left -X (180°)
c01 Right +X (180°)
c02 Top +Y
c03 Bottom -Y
c04 Back -Z (180°)
c05 Front +Z (180°)

Cubemapgen Custom Meshes

You can load your own geometry in Cubemapgen using the Load Object button, really helps to see what settings are working well.

You can also load a bitmap for the model using the Load Basemap button. There's a bug right now that causes your Basemap to be mirrored vertically... to fix it pre-flip the bitmap yourself before loading it in Cubemapgen. An Ambient Occlusion Map map makes a great Basemap, or you can use your DiffuseMap.

File:DiffuselyConvolvedCubeMap$tmp.320.cubemapgen nmech cube.jpg File:DiffuselyConvolvedCubeMap$tmp.320.cubemapgen nmech basemap+cube.jpg
Custom geometry in Cubemapgen. Actual size<
>image byEric Chadwick
Basemap is modulated (multiplied) with the cube map. Actual size<
>image byEric Chadwick

Editing Cubemaps in Photoshop

If your cube map is in DDS cube format, you'll need the NVIDIA DDS plugin to load and save in Photoshop.

Unfortunately NVIDIA introduced some bugs when they updated the plugin, so now DDS cubes don't load mips properly. If you need to load cube maps with mips, here's an old version that does it right.

Links


Personal tools
Namespaces

Variants
Actions
Navigation
Tools