Changes between Version 34 and Version 35 of ArtDesignDocument


Ignore:
Timestamp:
Mar 5, 2013, 1:24:07 PM (11 years ago)
Author:
Pureon
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ArtDesignDocument

    v34 v35  
    357357----
    358358=== Graphics Formats ===
    359 · BMP[[BR]] Lossless and uncompressed, a large file that is bigger than a TGA, and lacks alpha channel support. The most basic format that may be saved and converted to a .dds file using a WFG conversion tool. Alpha layer tools are not required.
    360 
    361 · TGA[[BR]] It is a lossless format, and supports alpha content via alpha channels. A 24-bit TGA will be converted to a DXT1 DDS file, and a 32-bit (alpha) TGA will be converted to a DXT3 DDS file. NOTE: Photoshop 7.0 has a bug where you cant save alpha in TGA. You should upgrade to Photoshop 7.1 or Photoshop CS. Because this format does contain alpha layers it requires software that takes advantage of this feature. This may also be converted to a .dds file using a WFG conversion tool.
     359
     360. PNG[[BR]] This is now the preferred image format for all textures. PNG supports lossless data compression and therefore no quality is lost when textures are committed. Alpha channel support allows for PNG files to store additional image data that can then be used in-game. When saving PNG files using Photoshop, we recommend using the [http://www.fnordware.com/superpng SuperPNG plugin]
     361
     362· DDS[[BR]] Textures are automatically converted from PNG to DDS by the engine to improve loading times. Textures should no longer be in DDS format when committed.
     363
     364DirectX Texture Compression : DXTC is the native, compressed texture format used in DirectX 9. In many cases, DXTC reduces texture memory usage by 50% or more over palettized, 8-bit textures, allowing for twice the textures at the same resolution, or the same number of textures at twice the resolution. Three DXTC formats are available. You can see a detailed comparison on the different types of texture compression here: http://udn.epicgames.com/pub/Content/TextureComparison/ The color channels are all the same DXT1, DXT3, and DXT5 - in terms of compression and quality. The difference lies in the alpha channel.
     365
     366· DXT1 is a four-bit compressed color format that allows for opaque, and one-bit alpha (DXT1a) textures; that is, textures with no transparency at all, and textures with a single transparent color.
     367
     368· DXT3 adds support for a four-bit explicit alpha channel, on top of DXT1's color compression. Four-bit explicit alpha allows for sixteen distinct alpha values, making it good for textures with 'sharply contrasting translucent/opaque areas. DXT2 textures assume the color data is pre-multiplied by the alpha channel.
     369
     370· DXT5 support a four-bit interpolated alpha channel. Three bits are used to determine explicit alpha values, and two eight-bit values are used to interpolate gradually between them. This makes the format especially suited for soft gradients and other textures where the alpha areas’ variance is mild. DXT4 assumes colors are pre-multiplied by the alpha channel.
     371
     372· 32-bit RGBA is the obese godfather of textures. While extremely powerful, it's also terribly overweight. It features full 24-bit color, plus an 8-bit alpha channel, but takes up four bytes for every pixel; a 256x256 texture will require 256k of memory.
    362373
    363374· JPEG[[BR]] DO NOT USE THIS FORMAT.
    364 
    365 · DDS[[BR]] This is the format that is used by the game, no conversion is needed, subsequently loading times are extremely fast, in the order of 5x faster than any other format. This format gives you full control over the texture attributes and color format, it also supports alpha channels. This format is therefore recommended for maximum performance and control.
    366 
    367 DirectX Texture Compression : DXTC is the native, compressed texture format used in DirectX 9. In many cases, DXTC reduces texture memory usage by 50% or more over palettized, 8-bit textures, allowing for twice the textures at the same resolution, or the same number of textures at twice the resolution. Three DXTC formats are available. You can see a detailed comparison on the different types of texture compression here: http://udn.epicgames.com/pub/Content/TextureComparison/ The color channels are all the same DXT1, DXT3, and DXT5 - in terms of compression and quality. The difference lies in the alpha channel.
    368 
    369 · DXT1 is a four-bit compressed color format that allows for opaque, and one-bit alpha (DXT1a) textures; that is, textures with no transparency at all, and textures with a single transparent color.
    370 
    371 · DXT3 adds support for a four-bit explicit alpha channel, on top of DXT1's color compression. Four-bit explicit alpha allows for sixteen distinct alpha values, making it good for textures with 'sharply contrasting translucent/opaque areas. DXT2 textures assume the color data is pre-multiplied by the alpha channel.
    372 
    373 · DXT5 support a four-bit interpolated alpha channel. Three bits are used to determine explicit alpha values, and two eight-bit values are used to interpolate gradually between them. This makes the format especially suited for soft gradients and other textures where the alpha areas’ variance is mild. DXT4 assumes colors are pre-multiplied by the alpha channel.
    374 
    375 · 32-bit RGBA is the obese godfather of textures. While extremely powerful, it's also terribly overweight. It features full 24-bit color, plus an 8-bit alpha channel, but takes up four bytes for every pixel; a 256x256 texture will require 256k of memory.
    376 
    377 [[BR]] Recommendation[[BR]] Use DXT1 textures as much as is possible because the greatest space savings can be had with them (any texture without an alpha transparency layer). If watching for rendering artifacts is not an option, DXT5 supports the most flexible alpha channels, while not increasing memory usage beyond that of a normal 8-bit palletized texture (for textures that require the use of the alpha layer – player color, transparency, object color). Use full RGBA only when DXT3/5 do not suffice in the both the color and alpha quality department, in highly visible expanses, such as skies box textures and user interface elements.
    378 
    379 NOTE: A hardware bug in all nVidia chipsets, including the NV20 (!GeForce3), potentially makes DXT1 textures gross and ugly. Specifically, decompression is performed in 16-bit color mode internally, making the resulting texture potentially unacceptable for use, especially when combined with other operations. Test your DXT1 textures on nVidia hardware before committing to their use. All other DXTC formats on nVidia hardware are okay, as textures are decompressed in 32-bit color internally.
    380375
    381376----
     
    426421[[Image(http://www.wildfiregames.com/0ad/images/artspec/image038.jpg)]]
    427422
    428 Player color is a special attribute of the game to serve the purpose of showing player ownership. It uses the alpha channel of a texture to apply a multiplied color layer (defined by the game, and player) in real time during the game. These textures can be made several different ways. One way is to use the photoshop DDS plugin noted above. The preferred method is to save a TGA (if you are working directly with alpha channels) or a BMP (if you are working with a flat texture with no alpha), and process it with the Pyrogenesis texture converter found in game’s developer tools. This may be found here in the game’s binaries:
    429 
    430   \binaries\system\textureconv
    431 
    432 The folder contains a readme.txt file with specific instructions for us. Note the image to the left has the RBG channel above at the top. The lower channel is a representation of the alpha layer (You are actually able to convert in this manner with a BMP file and the texture converter tool). What the game does is it uses that layer to designate what areas of the texture would receive color and what doesn’t. Black means it is player color and white means it is opaque RBG. Grays are a degree of transition between opaque and player color. The game then ‘multiplies’ the player color with the RBG layer’s gray tones. Compare the left image below to the right. It basically adds the RGB pixel color values between the 2 ‘layers’.
     423Player color is a special attribute of the game to serve the purpose of showing player ownership. It uses the alpha channel of a texture to apply a multiplied color layer (defined by the game, and player) in real time during the game.
    433424
    434425[[Image(http://www.wildfiregames.com/0ad/images/artspec/image042.jpg)]]
     
    459450=== Other ===
    460451==== UV Coordinates and Texturing ====
    461 Pyrogenesis supports only one (1) UVW channel and Material per object. Only UVW Channel 1 will be used by the exporter and game engine. Multi-sub object texturing should not be used and is not supported. Objects should be textured with just one material, represented in 3D Studio Max as the diffuse texture channel.
     452Pyrogenesis supports only one (1) UVW channel and Material per object. Only UVW Channel 1 will be used by the exporter and game engine. Multi-sub object texturing should not be used and is not supported. Objects should be textured with just one material.
    462453
    463454==== Original Files ====
    464 DDS will be used for the final texture format in Pyrogenesis, However, it is also recommended that textures be created in Photoshop, Paintshop Pro, or Gimp (etc.) also be saved as Photoshop Documents PSD files, with their layer information intact, so that later revisions can be made. This will also serve as an easier way to make variations and modifications in the future.
     455It is recommended that textures created in Photoshop, Paintshop Pro, or Gimp (etc.) are saved as Photoshop Documents PSD files, with their layer information intact, so that later revisions can be made. This will also serve as an easier way to make variations and modifications in the future.
    465456
    466457==== Texture Size ====