Crashday's textures are usually consisting of two files. The bitmap file (.dds or .tga) and the material shader file (.tex). If no shader file is available, a diffuse non-alpha default material will be used. However, to give any of your textures the right look, make sure you create .tex-files for each new texture. Textures and their related .tex-files have to have the same filename and must exist in the same directory.
Except for cars, all Crashday textures are and should be located in [crashday]\textures.
Due
to graphics card limitations, Crashday (like any other realtime
application) only supports dimensions of 16x16, 32x128, 1024x1024,
etc. (potence with basis 2)
The maximum valid texture resolution is 2048x2048. Beware that not all graphics cards might support these high
resolutions. Moreover this high resolution occupies 16MB of memory in the uncompressed version
.tga textures in Crashday
Crashday
primarily uses the .tga-format for car textures. However, you can of
course use it for any other purpose, too. As it is a
non-compressed format, it uses a lot of video video memory. If possible, always use compressed .dds textures instead (see below).
Find some .tga particularities here:
mipmaps for .tga-files are created from Crashday at runtime
.tga supports an alpha channel. Be sure to have it turned on when saving .tga with your graphics application
it needs no related medium and lowres version in the “medium_detail_textures” and ”low_detail_textures” folders as there are created from Crashday at runtime
be sure to use .tga format when creating car textures as .dds isn't capable of any in-game color changing
.dds textures in Crashday
In Crashday the .dds format is usually used for texturing objects like track pieces. As .dds is a compressed texture format, it offers a very small file size but has some limitations:
it has to contain its own precalculated mipmaps, so be sure they are generated when exporting to .dds with your graphics application
.dds supports an alpha channel. Be sure to have it turned on when saving .dds with your graphics application
it needs a related medium (half-size) and lowres (quarter-size) version in the subfolders “medium_detail_textures” and ”low_detail_textures”
Crashday tries to desaturate every texture in-game, as the gamma ramp screen filter increases color intensity too much. As post-processing isn't supported by compressed .dds textures, you need to do it manually with your graphics application. Best way to do this is simply apply a 50% grey-scale layer on top of your texture.
Original
“floor1” texture and desaturated version
Explanation of Crashday's .tex-shading files
A texture shader info file defines the way how a certain texture is being shaded in Crashday (i.e. lighting and rendering). Also it defines the physical material a texture is of. The file is an ASCII .tex-file associated to a texture with the same name and the extension .dds/.tga in one of the texture folders.
The following list explains the shading file in detail:
Example file: test.tex |
Explanation |
has_alpha |
“has_alpha” if you want to render a texture with transparency, otherwise leave line blank |
disable_mipmapping |
“disable_mipmapping” if game should not use mipmapping for this texture (especially for cars), otherwise leave line blank. If you provide a .dds file, make you you didn't create it with mipmaps if you use this parameter |
default # ingame material type |
material type defines the physical material a texture is of, either “default” (asphalt, concrete) or “grass” (loose floor, dirt roads) |
[shader type] |
type of shader used, see below for list of existing shaders |
variable-length list of shader parameters, depending on shader type |
Crashday only works with a set of predefined shaders, which can partly be modified by the values below the shader type in the shader file.
The supported types with their parameters are:
default |
simple diffuse lighting (default shading type) |
default # shader type |
just that line, no additional parameters |
specularvertex |
diffuse lighting with specular reflection map |
specularvertex # shader type |
specular identifier |
ultra # minimum quality to activate shader |
if in-game specified “Surface Reflection Quality” is less than the minimum level specified here, the texture is rendered diffuse, not specular. Valid settings are "ultra", "high", "medium" or "low" |
_self_ # specular map |
either “_self_” to use own alpha channel as specular map or specify a different file to use its alpha channel |
0.7 # overall strength |
specular overall strength |
2 # power exponent |
specular power exponent |
1 # remaining diffuse sun light |
if you have bright light spots from the specular reflection you might not want to have any more sunlight spots on the diffuse coat. Use this parameter from 0-1 to adjust the remaining "diffuse brightness" if specular spot is bright (i.e. for metal) |
diffuseenvmap |
diffuse lighting with environment mapping |
diffuseenvmap # shader type |
specular identifier |
0.3 # minimum reflection |
minimum reflection strength |
0.7 # maximum reflection |
maximum reflection strength |
3 # fresnel exponent |
fresnel exponent |
chrome |
chrome shader |
chrome # shader type |
specular identifier |
1 # amount of chrome |
amount of chrome blended against diffuse |
additiveblend |
additively blended textures |
additiveblend # shader type |
just that line, no additional parameters |
use_shaderparams_from |
reference to other .tex file to pick shader specified there |
use_shaderparams_from # shader type |
this line identifies the use of a reference |
[filename].tex |
tex file we copy the shader settings from |