From BZFlagWiki
Revision as of 19:57, 14 July 2007 by TD-Linux (Talk | contribs) (Section on transparency)

Jump to: navigation, search

A material is used in a BZFlag world to define a new look for otherwise regular objects, such as meshboxes.


To put a material in your map, first it must be defined:

 name example_material
 texture filename
 addtexture filename
 texmat -1
 dyncol -1
 ambient 0.0 0.0 0.0 1.0
 diffuse 1.0 1.0 1.0 1.0
 color 1.0 1.0 1.0 1.0
 specular 0.0 0.0 0.0 1.0
 emission 0.0 0.0 0.0 1.0
 shininess 0.0

Valid parameters for a Material are:

name name for reference
texture set the texture (must be .png but don't include the extension)
addtexture add a texture (again, no extension is needed)
notextures don't use textures.
notexcolor don't apply the color to the texture
notexalpha don't use the texture's alpha channel
texmat specify a texture matrix. -1 for no texture matrix.
dyncol specify a dynamic color. -1 for no dynamic color.
ambient ambient color
diffuse diffuse (main)color
color synonym for diffuse
specular specular color
emission emission color
shininess shiny!
resetmat restore default values

To actually apply a texture, you must use some sort of reference in an object, like so:

 position 0 0 10
 rotation 0
 size 10 10 5
 matref example_material


The transparency effect is created by setting the alpha component of a material's color to a value less than one. Transparent objects should be sparingly, because everything behind them must always be rendered. In addition, very large transparent objects may be sorted and drawn in the wrong order. This is caused by the fact that the Z-buffer cannot be used because it would allow another transparent object to cover the transparent object, which would not look right. Thus, the transparent elements are instead sorted by determining the distance to a point in the center, which works well as long as there are not too many large transparent objects. The same applies to textures that have transparent sections.

Magic Material Names




LeftSkyboxMaterial RightSkyboxMaterial FrontSkyboxMaterial BackSkyboxMaterial TopSkyboxMaterial BottomSkyboxMaterial


Materials were added in BZFlag 2.0.0.

Editor Support

Materials are supported in Blender with BZWTools, pyBZEdit, and Wings3D with the BZW Exporter for Wings3D. Materials are NOT supported in BZEdit or BZFed.