Difference between revisions of "MultiTexture"

From polycount
Jump to: navigation, search
m (3 revisions)
(porting from old wiki)
Line 1: Line 1:
__NOTOC__
+
A method for blending multiple textures together on the same mesh, by painting a mask between them. Also called "texture splatting". Often [[VertexColor|Vertex Color]] is used to control the blending because vertex color is fairly cheap. Or a mask bitmap can be used because it gives more control and avoids the gradient artifacts of per-vertex blending.
* [[Polycount|Main Page]] > [[Category:Texturing]] > Multitexture
+
  
= Multitexture =
+
== Texture Splatting ==
A method for blending multiple textures together on the same mesh.
+
* [http://eat3d.com/free/vertex_painting Vertex Painting in UDK - Eat 3D] Video tutorial by [http://www.torfrick.com/ Tor 'Snefer' Frick] showing how to use vertex painting in UDK.
 +
* [http://udn.epicgames.com/Three/TerrainAdvancedTextures.html UDN - Three - Terrain Advanced Textures] by Epic Games. Multiple methods for multitexturing terrain in the Unreal 3 Engine.
 +
* [http://www.polycount.com/forum/showthread.php?t=48473 texturing a race track] thread on Polycount. Texturing ideas for race track pavement.
 +
* [http://www.polycount.com/forum/showthread.php?t=74017 Multitexturing and decals?] thread on Polycount. Multitexturing methods explained.
 +
* [http://www.strangefate.com/3Dart/index.html#p7APMc1_3 Dark Sector multitexturing] by [http://www.strangefate.com Mario 'Strangefate' Vazquez], Polycount [http://www.polycount.com/forum/showthread.php?t=52498 thread here], some [http://www.polycount.com/forum/showthread.php?p=756818#post756818 explanations here]. Using vertex blending to multitexture gritty urban scenes.
  
* [http://www.polycount.com/forum/showthread.php?t=48473 texturing a race track] thread on Polycount.
+
== Modulation Blending ==
* [http://www.polycount.com/forum/showthread.php?t=74017 Multitexturing and decals?] thread on Polycount.
+
This method adds sharp details to the blend area, by mixing vertex color (for the larger blend) with grayscale textures (for the sharp detail blend). These grayscale maps are either stored in the alpha channel of each layer's normal map, or multiple maps can be [[ChannelPacking|channel packed]] into a single map. Usually the [[Shaders|shader]] has a control for how sharp the transition will be, and sometimes you can use a vertex color or bitmap to control the sharpness.
 +
 
 +
* [http://www.polycount.com/forum/showpost.php?p=1924774&postcount=24 Vertex blend shader for Unity] shader and Youtube video by [http://fingus.net/ Sindre 'Fingus 'Opsahl Skaare]
 +
* [http://www.polycount.com/forum/showthread.php?t=89682 An exercise in modular textures - Scifi lab UDK] - by [http://www.torfrick.com/ Tor 'Snefer' Frick], an exercise in extreme texture atlasing, packing multiple maps into the four channels of a texture file.
 +
* [http://www.polycount.com/forum/showthread.php?t=100388 The Desert(What can you do with no diffuse maps?)] Polycount forum thread. Vertex blending using multiple modulation textures, in UDK. See also [http://artisaverb.info/DitchingDiffuse.html Ditching Diffuse Maps: A foray into artistic reasoning and technical details behind "procedural" texturing, with practical examples on today's tech] by [http://artisaverb.info/ Andrew 'd1ver' Maximov].
 +
* [http://forums.epicgames.com/threads/749677-Texture-blending-through-up-vector-%28snow-on-top-of-rocks%29 UDK - snow on top of rocks] shader ideas, via the Epic Games Forums.
 +
* [http://www.polycount.com/forum/showthread.php?t=85807 Tutorial - Gradient Mapping & UDK] Polycount forum thread. Using gradients to control colors in an image or as a postprocess.
 +
* [http://www.polycount.com/forum/showthread.php?t=66952 The Snow and Ice of Uncharted2?] Polycount forum thread. Vertex blending using a modulation texture. Test shaders for UDK ([http://www.polycount.com/forum/showthread.php?p=1024030#post1024030 1], [http://www.polycount.com/forum/showthread.php?p=1024849#post1024849 2], [http://www.hourences.com/ue3-material-editor-part-3/ 3], [http://www.chrisalbeluhn.com/UDK_Advanced_Vertex_Painting.html 4], [http://www.laurenscorijn.com/vertex-blending-snow.html 5 (snow)]). Behrooz Roozbeh from Naughty Dog explains how they did it [http://www.zbrushcentral.com/showthread.php?79141-Uncharted-2-Among-Thieves-art-work&p=641316&viewfull=1#post641316 over here on ZBrushCentral].
 +
* [http://udn.epicgames.com/Three/LandscapeMaterials.html#Note%20about%20multiple%20LB_HeightBlend%20layers UDN - Three - Landscape Materials] by Epic Games. UDK's Landscape system uses painted weightmaps for terrain multitexturing. The weightmaps are one pixel per vertex, but you can also enable modulate textures using a Landscape Layer Blend node with the "LB_!HeightBlend" option.
 +
* [http://www.chrisalbeluhn.com/UT3_Vertex_Blend_Variation_Tutorial.html UT3: Vertex color blending variation] by Chris Albeluhn. Creating advanced vertex blending materials in UDK using vertex color and modulation masks. See also [http://www.chrisalbeluhn.com/UDK_Advanced_Vertex_Painting.html UDK Advanced Vertex Painting].
 +
* [https://www.3dmotive.com/f100601 Advanced Mesh Paint with UDK] ($) at 3DMotive by Ryan James Smith. Creating advanced vertex blending materials in UDK using vertex color and a modulation mask.
 +
* [https://developer.valvesoftware.com/wiki/$blendmodulatetexture $blendmodulatetexture] at the Valve Developer Community wiki. How to use a modulation texture in Source.
 +
* [http://forums.tf2maps.net/showthread.php?t=12109 Custom Blend Materials in Source] at forums.tf2maps.net by Cynick. Creating advanced vertex blending materials in Source using vertex color and a modulation mask.
 +
 
 +
== Sub-Tiles ==
 +
Multiple tiling textures can be packed into a single bitmap, and cropped out by a shader. This saves texture fetches, at the expense of increasing shader instructions.
 +
 
 +
* [http://udn.epicgames.com/Three/TerrainAdvancedTextures.html#Texture%20Packing:%20Implementing%20large%20texture%20tile%20sets UDN - Three - TerrainAdvancedTextures - Texture Packing: Implementing large texture tile sets]
 +
* [http://forums.epicgames.com/threads/710560-The-WIP-Thread?p=31189949&viewfull=1#post31189949 UDK - how to solve 'frac' artifacts and mipmapping seams] - how to implement sub-tiles in UDK, and solve seams.
 +
* [http://www.polycount.com/forum/showthread.php?t=90092 UDK - Material - Multi-UV Changes] - more UDK techniques for sub-tiles.
 +
* [http://mtnphil.wordpress.com/2011/09/26/terrain-texture-atlas-construction/ Terrain texture atlas construction] - how to properly compile sub-tiles into a large texture sheet.
 +
 
 +
== Variation Blending ==
 +
Methods for adding variation across a tiling texture.
 +
 
 +
* [http://www.polycount.com/forum/showthread.php?p=1308889#post1308889 STAGE Street Fighter 2, Bath House, JordanW] - Polycount Forum]
 +
* [http://www.chrisalbeluhn.com/UT3_Add_variation_to_repeating_textures_Tutorial.html Chris Albeluhn - UT3 - Adding variation to a repeating texture pattern]
 +
* [http://www.chrisalbeluhn.com/UT3_Adding_Brick_Variation.html Chris Albeluhn - UT3 - Adding Brick Variation]
 +
* [http://www.chrisalbeluhn.com/UDK_Asset_Position_Offsets_Texturet_Tutorial.html Chris Albeluhn - UDK - Mesh Position Offset the Materials Texture]
  
 
== Megatexture ==
 
== Megatexture ==
id Software's Megatexture tech uses [[Decal|decals]] and multitexturing to create their huge texture sheets.  
+
id Software's Megatexture tech uses [[Decal decals] and multitexturing to create their terrain textures, which are then baked down in a preprocessing step into a huge texture sheet, that's dynamically loaded as you play the game. So it's not really multitexturing in the end, blending in real-time, instead it's a single colormap baked from a multitextured source. The Splash Damage wiki has an article about [http://wiki.splashdamage.com/index.php/A_Simple_First_Megatexture generating Megatextures for ETQW].
  
{| border="1" cellpadding="2" cellspacing="0"
+
[[image:megatexture_rage_before.jpg|frame|left|Megatexture in Rage, before decals and multitexturing. Image by [http://www.idsoftware.com id Software] ]] [[image:megatexture_rage_after.jpg|frame|left|Megatexture in Rage, after baking in the decals and texture layers. Image by [http://www.idsoftware.com id Software] ]]
| [[attachment:megatexture_rage_before.jpg|Media:MultiTexture/attachments/megatexture_rage_before.jpg
+
| width=400}}
+
| [[attachment:megatexture_rage_after.jpg|{{attachment:megatexture_rage_after.jpg
+
|-
+
| Megatexturing in Rage, before decals and multitexturing.<<BR>><span style="font-size: smaller">Image by [http://www.idsoftware.com id Software]</span>
+
|}
+
  
<<BR>>
+
----
* [[Polycount|Main Page]] > [[Category:Texturing]] > Multitexture
+
[[Category:TextureTechnique]] [[Category:Glossary]] [[Category:EnvironmentTexturing]] [[Category:EnvironmentTerrain]]

Revision as of 14:57, 26 September 2014

A method for blending multiple textures together on the same mesh, by painting a mask between them. Also called "texture splatting". Often Vertex Color is used to control the blending because vertex color is fairly cheap. Or a mask bitmap can be used because it gives more control and avoids the gradient artifacts of per-vertex blending.

Texture Splatting

Modulation Blending

This method adds sharp details to the blend area, by mixing vertex color (for the larger blend) with grayscale textures (for the sharp detail blend). These grayscale maps are either stored in the alpha channel of each layer's normal map, or multiple maps can be channel packed into a single map. Usually the shader has a control for how sharp the transition will be, and sometimes you can use a vertex color or bitmap to control the sharpness.

Sub-Tiles

Multiple tiling textures can be packed into a single bitmap, and cropped out by a shader. This saves texture fetches, at the expense of increasing shader instructions.

Variation Blending

Methods for adding variation across a tiling texture.

Megatexture

id Software's Megatexture tech uses [[Decal decals] and multitexturing to create their terrain textures, which are then baked down in a preprocessing step into a huge texture sheet, that's dynamically loaded as you play the game. So it's not really multitexturing in the end, blending in real-time, instead it's a single colormap baked from a multitextured source. The Splash Damage wiki has an article about generating Megatextures for ETQW.

Megatexture in Rage, before decals and multitexturing. Image by id Software
Megatexture in Rage, after baking in the decals and texture layers. Image by id Software

Personal tools
Namespaces

Variants
Actions
Navigation
Tools