Difference between revisions of "ChannelPacking"
EricChadwick (Talk | contribs) |
EricChadwick (Talk | contribs) (RMA, draw calls) |
||
Line 2: | Line 2: | ||
These channels are usually used to represent traditional RGB color data, plus Alpha transparency. However each channel is really just a grayscale image, so different types of image data can be stored in them. | These channels are usually used to represent traditional RGB color data, plus Alpha transparency. However each channel is really just a grayscale image, so different types of image data can be stored in them. | ||
+ | |||
+ | RMA means Roughness + Metallic + Ambient Occlusion, packed into the red, green, and blue channels of a bitmap. These maps are used with [[PBR]] materials. | ||
Individual channels can be extracted by a [[Shaders|shader]] to use them for particular effects, for example the red channel for glow, green channel for specular, blue channel for sound types, alpha channel for physics info, etc. Each channel can have a totally different layout, and thus use different [[TextureCoordinates|UVs]]. | Individual channels can be extracted by a [[Shaders|shader]] to use them for particular effects, for example the red channel for glow, green channel for specular, blue channel for sound types, alpha channel for physics info, etc. Each channel can have a totally different layout, and thus use different [[TextureCoordinates|UVs]]. | ||
− | Games use this technique to avoid loading separate grayscale images, which saves [[Memory]]. | + | Games use this technique to avoid loading separate grayscale images, which saves [[Memory]]. However this does increase shader complexity, which can increase [[GameRenderingTerminology#Draw Call|draw calls]]. |
Revision as of 09:50, 24 May 2015
Channel packing means using different grayscale images in each of a texture's image channels... Red, Green, Blue, and optionally Alpha.
These channels are usually used to represent traditional RGB color data, plus Alpha transparency. However each channel is really just a grayscale image, so different types of image data can be stored in them.
RMA means Roughness + Metallic + Ambient Occlusion, packed into the red, green, and blue channels of a bitmap. These maps are used with PBR materials.
Individual channels can be extracted by a shader to use them for particular effects, for example the red channel for glow, green channel for specular, blue channel for sound types, alpha channel for physics info, etc. Each channel can have a totally different layout, and thus use different UVs.
Games use this technique to avoid loading separate grayscale images, which saves Memory. However this does increase shader complexity, which can increase draw calls.
Examples
Compression Artifacts
If you save a channel-packed texture using DXT compression, it will probably add blocky artifacts to your maps. To learn how to reduce these errors, see Normal Map Compression.
Tools