-
Notifications
You must be signed in to change notification settings - Fork 5
Material
The material pane is used to configure named materials which can be applied to representation objects. A material controls how a mesh or image representation is rendered in the 3D and 2D views, primarily what colours are used to represent it and how lights affect it. This pages describes each section of this pane.
This applies the material to every mesh or image using it as it's stated material (although objects may have internal unnamed materials). Not all properties the material defines can be changed instantaneously, most especially setting the colors for meshes since to do so requires regenerating triangle geometry from the base data. Clicking this button ensures all material properties are applied and data is regenerated as necessary.
The final color used to represent the geometry of a mesh is defined by the composition of the vertex color with the light color parameters: ambient, diffuse, emissive, and specular. This group box allows these parameters to be set for the material:
- Ambient: Choose the color to multiply with the ambient light color.
- Diffuse: Choose the color to multiply with colors cast by light sources.
- Emissive: Choose the color which an object is to emit.
- Specular: Choose the color for shiny highlights.
- Shininess: Sets the specular or shininess amount, larger values concentrate the highlighting in smaller areas with higher intensity.
- Transparency: Sets the transparency value for these colors, 0.0 for completely transparent and 1.0 for completely opaque. The transparency values in the spectrum control are multiplied by this number.
This is the spectrum control associated with this material. Documentation on this control can be found on the page [wiki:Docs/Spectrum Spectrum Control].
Spectrum objects are a separate category of asset represented in Eidolon. A material is a subtype of spectrum essentially, defining a colour/transparency spectrum as well as other properties. The material's internal spectrum can be set to that of a Spectrum object by selecting it in this box and clicking Set.
These properties affect how light, color, textures, and drawing operations affect how meshes and images are rendered.
- Use Lighting: Toggles whether lighting is used to determine color, if not selected then only vertex and texture color is used.
- Flat Shading: Toggles flat or smooth shading is used across triangle faces.
- Use Vertex Colors: Toggles the use of the color stored in mesh vertices, with it unselected only lighting is used to determine color.
- Use Point Sprites: For point representations, toggles whether sprites or geometry is used for points.
- Cull Backfaces: Toggles whether triangles not visible to the camera are drawn or not, with this set triangles facing away from the camera (as defined by vertex order) will not be drawn, so not culling can allow the inside of geometries to be seen.
- Depth Check: Toggles whether pixels from a geometry are rendered with depth checking, that is they won't obscure geometry closer to the camera. Turning this off ensures an object is drawn over top of previously drawn objects.
- Depth Write: Toggles whether the depth information for a pixel is updated or not when drawn.
- Texture Filtering: Toggles whether bilinear interpolation is applied to textures when drawn or not, this affects textured meshes and images.
For point representations, the size of the points can be controlled with these parameters.
- Absolute Size: With this selected, the point diameter will always be the specified value in screen pixels.
- Relative Size: With this selected, the point diameter will vary from the minimal to maximal size specified based on distance.
The following boxes are for choose external components to associate with the material.
-
Texture: associates a texture with this material, this value is used for meshes that have specified UVW texture coordinates in their vertex data. This was useful for billboard representations but can be applied to any mesh type if the UVW data is given.
-
Fragment Program: associates a fragment program (pixel shader) with this material. Any representation this material is applied to will use the program to determine pixel color.
-
Vertex Program: associates a vertex program with this material. Any representation this material is applied to will use the program to determine its geometry data.