Difference between revisions of "Diffusely convolved cube map"

From polycount
Jump to: navigation, search
m (Throttlekitty moved page DiffuselyConvolvedCubeMap to Diffusely convolved cube map: Convert old>new space and case.)
(More Information: Samule Zeller's article is forever gone)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Diffusely Convolved Cube Map =
+
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"
 +
|[[image:whatif_nmech_env-alone.jpg|thumb|left|The convolved cube map on a normalmapped model.]]
 +
|[[image:whatif_nmech_env+lgt.jpg|thumb|left|The convolved cube map on a normalmapped model.]]
 +
|-
 +
|colspan="2"|Images by [http://www.linkedin.com/in/ericchadwick Eric Chadwick].
 +
|}
  
 +
== Lys ==
 +
"Lys is an ultra-fast GPU powered solution that sets the standard for generating Radiance, Irradiance and Specular textures from panoramic, Sphere or 2d cube map cross source textures for use with HDR Image Based Lighting."
  
<span id="I"></span><span id="Introduction"></span>
+
* [http://polycount.com/discussion/148953/lys-1-0-1-released Lys 1.0 Released!]
== 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:Lys_axis_rotation_3_855px.jpg|left|thumb|600px|Image by [http://www.metalliandy.com/ Andy "metalliandy Davies].]]<br clear="all"/>
  
{| border="1" cellpadding="2" cellspacing="0"
 
|  [[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>
 
 
== AMD Cubemapgen ==
 
== AMD Cubemapgen ==
 +
* [http://code.google.com/p/cubemapgen/ Cubemapgen] is open-sourced utility for filtering down cube maps.
 +
* Sébastien Lagarde made [http://seblagarde.wordpress.com/2012/06/10/amd-cubemapgen-for-physically-based-rendering/ a modified version for physically based rendering]
  
[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|thumb|left|Some tips for filtering cubemaps in Cubemapgen. 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 117: Line 115:
  
 
=== 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 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]].
+
{|border="1"
 
+
|[[image:cubemapgen_nmech_cube.jpg|thumb|left|Custom geometry in Cubemapgen.]]
{| border="1" cellpadding="2" cellspacing="0"
+
|[[image:cubemapgen_nmech_basemap+cube.jpg|thumb|left|Basemap is modulated (multiplied) with the cube map.]]
| [[Image:DiffuselyConvolvedCubeMap$tmp.320.cubemapgen_nmech_cube.jpg]]  
+
| [[Image:DiffuselyConvolvedCubeMap$tmp.320.cubemapgen_nmech_basemap+cube.jpg]]  
+
 
|-
 
|-
| Custom geometry in Cubemapgen. [[attachment:cubemapgen_nmech_cube.jpg|Actual size]]<<BR>><span style="font-size: smaller">image by[http://www.linkedin.com/in/ericchadwick Eric Chadwick]</span>
+
|colspan="2"|Images by [http://www.linkedin.com/in/ericchadwick Eric Chadwick].]]
|  Basemap is modulated (multiplied) with the cube map. [[attachment:cubemapgen_nmech_basemap+cube.jpg|Actual size]]<<BR>><span style="font-size: smaller">image by[http://www.linkedin.com/in/ericchadwick Eric Chadwick]</span>
+
 
|}
 
|}
  
<span id="ECIP"></span>
+
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 [[Diffuse map]].
 +
 
 +
 
 
== Editing Cubemaps in Photoshop ==
 
== 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.
 
If your cube map is in DDS cube format, you'll need the NVIDIA DDS plugin to load and save in Photoshop.
 
* [http://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop NVIDIA Photoshop Plugins]
 
* [http://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop NVIDIA Photoshop Plugins]
  
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.
 
* [http://www.ericchadwick.com/examples/files/2005.10.14_DDSformat_and_NormalMapFilter.zip NVIDIA Photoshop Plugins 8.21 beta]
 
 
== Links ==
 
  
* [http://zellersamuel.wordpress.com/2010/03/06/cubemaps/ Cubemaps how-to and why] by Zeller Samuel<<BR>>A great introduction to cubemaps.
+
== More Information ==
* [http://www.cgtextures.com/content.php?action=tutorial&name=cubemaps Cubemaps Tutorial] by CGTextures.com<<BR>>Tutorial using Nvidia's Photoshop plugin, AMD's [http://developer.amd.com/gpu/cubemapgen/pages/default.aspx CubeMapGen], and Photoshop to convert cubemaps to various layouts.
+
* [http://www.cgtextures.com/content.php?action=tutorial&name=cubemaps Cubemaps Tutorial] by CGTextures.com - Tutorial using Nvidia's Photoshop plugin, AMD's [http://developer.amd.com/gpu/cubemapgen/pages/default.aspx CubeMapGen], and Photoshop to convert cubemaps to various layouts.
* [[Cube map]]<<BR>>Wiki page describing cubemaps.
+
  
 
----
 
----
[[Category:Texturing]] [[Category:TextureTypes]] [[Category:Environment map]]
+
[[Category:TextureTypes]]

Latest revision as of 17:17, 22 May 2016

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.
The convolved cube map on a normalmapped model.
Images by Eric Chadwick.

Lys

"Lys is an ultra-fast GPU powered solution that sets the standard for generating Radiance, Irradiance and Specular textures from panoramic, Sphere or 2d cube map cross source textures for use with HDR Image Based Lighting."



AMD Cubemapgen

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

Custom geometry in Cubemapgen.
Basemap is modulated (multiplied) with the cube map.
Images by Eric Chadwick.]]

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 Diffuse map.


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.


More Information

  • Cubemaps Tutorial by CGTextures.com - Tutorial using Nvidia's Photoshop plugin, AMD's CubeMapGen, and Photoshop to convert cubemaps to various layouts.

Personal tools
Namespaces

Variants
Actions
Navigation
Tools