This list contains all approved texture properties. If you implement a graphic, audio or physics module you should stick to this list. You are not required to support all texture properties mentioned here but if you support them stick to the definition below. Artist rely on the same list to produce their content. For testing new texture properties you can of course define new properties and propose them for inclusion.
The properties are listed with their name as title. Property names typically compose of one or more names with optional dots in between. Color components and gray scale values are written in the range from 0 to 1 with 0 equal to an RGB value of 0 and 1 equal to an RGB value of 255. The brief below the description indicates the used data type and the default value if the property is not specified. Values in round brackets indicate a color with in the form ( red, green, blue ) or ( red, green, blue, alpha ).
Note: This page is protected and editable only for engine team members.
Note: Boolean Value is the same as Single Value just indicating that only the values 0 and 1 have a meaning.
These properties are understood in general only by the Graphic Module. Some might also be understood by other modules but this is not the default behavior.
Defines the color of a material. The color is used for various lighting steps. Typically this property is specified using a 24-bit image.
3-component image, default black
Sometimes it is useful and saves disk space if the alpha channel of an image or color is used directly as the transparency value. The color property though defines only a the 24-bit color. Using this property instead of the color property defines the color property using the red, green and blue channel while the alpha channel is used to define the transparency property at the same time. The rules from 'color' and 'transparency' apply here too. Defining the color and the color_alpha property at the same time results in an undefined behavior. Defining the transparency property together with the color_alpha is allowed. In this case the transparency property overwrites the transparency set through the alpha channel of the color_alpha property. Typically this property is specified using a 32-bit image.
4-component image, default ( 0, 0, 0, 1 )
Defines the transparency level of a material. Transparent materials allow to see through with varying strength. Typically this property is specified using a 8-bit gray scale image. A value of 0 indicates a fully opaque material whereas 1 equals to a fully transparent material. All values in between equal to a partial transparency with the given strength. Transparency comes in two kinds in this engine. One kind is full transparency and the other masked transparency. With full transparency the entire range of values is used to simulate various degrees of transparency. With masked transparency only fully opaque or fully transparent is used. In this mode values below 0.5 are considered opaque and all other values fully transparent. Masked transparency is used for solid objects containing holes. Most graphic modules render full transparent objects slower than masked transparent ones. If you have issues with speed it might be an idea to turn fully transparent objects into masked transparent ones if possible. Read the informations for the Skin Module used in your game how to define a texture fully or masked transparent.
1-component image, default 1
Defines the normal of the surface. This is a special texture property in that the color is not a real color but a normal encoded as a color. Normal maps are used to fake detail on flat surfaces by specifying the structure of normals along a surface. The normal is encoded as a 24-bit color relative to the tangent space of the surface. The tangent space is formed taking the original triangle normal and the tangent which points along the U direction of triangle. The red component indicates the X component of the normal ( along the U direction of the texture ). Negative values are in the range from 0 to 0.5 and positive values in the range from 0.5 to 1. The green component indicates the Y component of the normal ( along the V direction of the texture ). Negative values are in the range from 0 to 0.5 and positive values in the range from 0.5 to 1. The blue component indicates the Z component of the normal ( along the triangle normal ). Negative values are in the range from 0 to 0.5 and positive values in the range from 0.5 to 1. The normal is normalized before storing. Normals should not point further away than 90 degree measured from the triangle normal. If you go beyond this limit render artifacts can occur. Due to this layout normal maps have a tendency to be blueish in color since the Z component is always positive.
3-component image, default ( 0.5, 0.5, 1.0 )
Defines the height of the surface. This is also a special texture property similar to the normal map one but this time the height of a surface relative to the mesh surface is stored. This height can be used for different purpose depending on the graphic module used. One usage is to derive a normal map from the height difference. Another usage is to dynamically increase the detail level of a mesh. The new vertices are then offset using this height. Terrain meshes can also use this height information to provide LODing ( level of detail reduction over distance ). A value of 0.5 indicates no surface height alteration. Values below 0.5 indicate a dent in a surface while values above 0.5 indicate a bump in a surface. The strength of the height alteration can be set using the height.scale property.
1-component image, default 0.5
Used in conjunction with the height surface property and defines the scaling of the height values. With a scaling of 1 the height values are considered to be in the range of -0.5m to 0.5m . The values are multiplied by the scale factor resulting in the final height values. For generating normal maps this is not required. As an example if the hills and valleys are at most 1cm then a scaling of 0.02 ( 1 divided by 50 ) has to be used ( 0.5m times 0.02 yields 0.01m or 1cm ). This property has to be a single value.
Single value, default 1
Defines the ambient color. The ambient light color is multiplied component wise with this property and then multiplied with the color property. For most situations you want to reflect ambient light fully in which case ambient.color is white. If you want to create pure emissive materials you usually want to set this property black to prevent ambient lighting.
3-component color, default white
Defines the diffuse color. Diffuse reflection is caused by lights except the ambient light and simulates light that has been scattered so often it gives the impression to come from everywhere. The color of light sources except ambient light is multiplied component wise with this property and then multiplied with the color property. For most situations you want to reflect light sources fully in which case diffuse.color is white. If you want to create pure emissive materials you usually want to set this property black to prevent lighting. Normal mapping takes only effect if diffuse.color is not black. Specular reflection is not influenced by this property. Use specular.color for this purpose. These two properties tend to be used in tandem.
3-component color, default white
Defines the strength of specular reflection. This kind of reflection occurs due to a light source being reflected of a surface into the camera. Light sources always have a diffuse and specular contribution. This property influences the specular contribution. A value of 0 equals to no specular reflection where 1 equals to full specular reflection. This value acts as a percentage value scaling the strength of the specular highlight. Use the specular.* properties to alter the specular reflection in more detail. Typically this value is an 8-bit image.
1-component image, default 0
Defines the color of the specular reflection. This color is multiplied component wise with the incoming light color and the color property. For most situations you want to reflect light sources fully in which case specular.color is white. If you want to create pure emissive materials you usually want to set this property black to prevent lighting. Normal mapping takes only effect if specular.color is not black. Diffuse reflection is not influenced by this property. Use diffuse.color for this purpose. These two properties tend to be used in tandem.
3-component color, default white
Defines the exponent of the specular reflection. There exist different models to calculate specular reflection but all of them have a sort of specular exponent. This exponent defines the cone shape of the reflection. Light sources reflect of a point on a surface in the shape of a cone where at the middle of the cone the reflection is at full strength and declines to 0 outside the cone. The exponent influences the broadness of this cone. This property is sometimes also called the hardness of the specular reflection. All values above 0 are valid. Some modules restrict though the exponent to an upper value which is usually 256. Higher values produce a slimer cone. Plastic materials have small exponents around 8 while metallic materials have high exponents around 64.
Single value, default 16
Defines the multiplier of the specularity property. The specularity value is first multiplied by this value before being send down the lighting pipeline as described in 'specularity'. This property is useful for fine adjusting specularity without altering the source image.
Single value, default 1
Defines the light emission strength of a surface. A value of 0 equals to no light being emitted from the surface whereas 1 equals to full bright color being emitted. In the lighting model used by this game engine there exists no maximum strength of light since the light intensity is only limited towards the bottom. For this reason the additional property emissive.intensity indicates the maximum intensity. The real intensity equals to the emissivity value multiplied by the emissive.intensity value. The color used for emission is defined with emissivity.color . Usually this property is an 8-bit gray scale image. It acts therefore as a sort of brightness map for a surface which allows to define the light emission without wasting a lot of space.
1-component image, default 0
Defines the intensity of light emission. This value has the same value range as the intensity parameter of light sources. For a common 100W light bulb this value would be around 80 lumen. This value has to be a single value.
Single value, default 80
Defines the color of the emited light. For most situations you want to not emit light in which case emissive.color is black. If you want to create emissive materials you usually want to set this property white to emit the material color as light. Normal mapping has no effect on emited light. Control the strength of the emited light using the emissive.intensity property.
3-component color, default black
Defines the distortion applied to rendered content behind transparent material. The distortion works by manipulating the coordinates of the point to be used as the background pixel color using a 2-channel image. The red channel indicates the amount of displacement in the x direction ( with -1 being 0 red and 1 being full red ) and the green channel indicates the displacement in the y direction ( same as with red ). The displacement strength is defined using refraction.distort.strength . Usually a 3-component image is used where the blue channel has no use. This way normal maps can be directly used for distortion.
2-component image, default ( 0.5, 0.5 )
Defines the strength of the refraction distortion. Scales the displacement by the given single value. Negative values are possible inventing the displacements. The displacement is measured relative to the size of the render window. Hence a value of 0.1 would cause displacements to have a magnitude of up to 10% of the render window size. The default is 0.01 which results in a usual screen resolution a displacement of roughly 10 pixels ( 1% of render window size ). This is a single value.
Single value, default 0.01
Defines if this material can cast shadows or not. A value of 0 prevents this material from casting shadows ( solid nor transparent ). All other values ( best use 1 ) causes this texture to cast shadows. This is a single value.
Boolean value, default 1
Defines a threshold to stop this texture from casting shadows. This is a performance optimization property and is linked to user settings. If the user chooses a high detail level this shadow is shown otherwise not. To prevent shadows from being cast at all use shadow.none instead. A value of 0 equals to the lowest detail level where only the most vital textures cast shadows. A value of 1 equals to the highest detail level where any textures cast shows. All values in between represent the detail percentage ( hence 0.2 for example requires the user to set the detail level at or above 20% to see this shadow ). This is a single value with default 1.
Single value, default 1
Defines if a texture is insensitive to all lighting. This property is designed for editor applications requiring control objects to be shown even if they are in total darkness. Since this is not meant for actual games the speed of rendering shadeless objects is not required to be high. For actual games you should use the emissive.* texture properties instead disabling all other light sources ( setting their color to (0,0,0) ). A value of 0 equals to this texture being lit properly. A value of 1 marks this texture as shadeless ignoring all lighting. This is a single value with default 0.
Boolean value, default 0
Defines if hardware textures can be compressed or not. Graphic modules can decide to compress textures to conserve memory. Compression though tends to have a more or less negative impact on the visual quality depending on the kind of texture. Usually diffuse textures are compressed while normal textures are not. If you have a special texture which has to keep the full quality you can use this property to tell the Graphic Module to not compress this texture. As this is a hint the Graphic Module is not required to respect it. A value of 0 indicates that this texture can be compressed. A value of 1 indicates that this texture should not be compressed if possible. This is a single value with default 0.
Boolean value, default 0
Defines that this material is a fully reflective ( perfect ) flat mirror. All pixels covered by mesh faces with this texture reflect the world totally. Transparency effects like refraction distortion can be applied to mirrors. Use this property only on flat or nearly flat geometry. For curved geometry use the reflection.* properties. Mirror reflections tend to be faster than reflection.* reflections and should be used if the geometry is flat. A value of 0 equals to no mirror reflection. A value of 1 equals to full mirror reflections. This is a single value wit default 0.
Boolean value, default 0
These properties are understood by the Physics Module.
Defines the bounciness of a surface. This is used by the physics module to determine with what fraction of the incoming force an object is repelled from a surface. A value of 0 equals to no bounciness in which case an object hitting this surface is not repelled at all whereas 1 equals to full bounciness in which case an object bounces off this surface with the force it arrived. This has to be a single value.
Single value, default 0.2
These properties are understood by the Audio Module.
Note: There are not accepted audio properties yet but some in testing.