RenderStack 11.06.1
Public Member Functions | Protected Member Functions | Properties
example.UI.MaterialManager Class Reference
Inheritance diagram for example.UI.MaterialManager:
example.UI.Service

List of all members.

Public Member Functions

Material MakeSimpleMaterial (float r, float g, float b)
Material MakeSimpleMaterial (float r, float g, float b, float diffuse, float specular, float roughness)
void Connect (Renderer renderer, TextRenderer textRenderer)

Protected Member Functions

override void InitializeService ()

Properties

override string Name [get]
Material Default [get]
Material Schlick [get]
Material GridMaterial [get]
Material Textured [get]
Dictionary< string, MaterialMaterials [get]
Material this[string name] [get]

Detailed Description

Definition at line 36 of file example.UI/MaterialManager.cs.


Member Function Documentation

Material example.UI.MaterialManager.MakeSimpleMaterial ( float  r,
float  g,
float  b 
)

Definition at line 77 of file example.UI/MaterialManager.cs.

        {
            return MakeSimpleMaterial(r, g, b, 0.5f, 1.0f, 0.02f);
        }
Material example.UI.MaterialManager.MakeSimpleMaterial ( float  r,
float  g,
float  b,
float  diffuse,
float  specular,
float  roughness 
)

Definition at line 81 of file example.UI/MaterialManager.cs.

References RenderStack.Mesh.Material.Parameters.

        {
            Material material = new Material(renderer.Programs["Schlick"], MeshMode.PolygonFill);
            material.Parameters["surface_color"]                        = new Floats(diffuse * r, diffuse * g, diffuse * b);
            material.Parameters["surface_diffuse_reflectance_color"]    = new Floats(diffuse * r, diffuse * g, diffuse * b);
            material.Parameters["surface_specular_reflectance_color"]   = new Floats(specular * r, specular * r, specular *r);
            material.Parameters["surface_roughness"]                    = new Floats(roughness);
            return material;
        }
void example.UI.MaterialManager.Connect ( Renderer  renderer,
TextRenderer  textRenderer 
)

Definition at line 91 of file example.UI/MaterialManager.cs.

        {
            this.renderer = renderer;

            InitializationDependsOn(renderer);
            InitializationDependsOn(textRenderer);
        }
override void example.UI.MaterialManager.InitializeService ( ) [protected, virtual]

Implements example.UI.Service.

Definition at line 102 of file example.UI/MaterialManager.cs.

        {
            textured = new Material(renderer.Programs["Textured"], MeshMode.PolygonFill);

            textured.Parameters["texture"] = null;

            schlick = new Material(renderer.Programs["Schlick"], MeshMode.PolygonFill);
            schlick.Parameters["surface_color"]                          = new Floats(0.5f, 0.5f, 0.5f);
            schlick.Parameters["surface_diffuse_reflectance_color"]      = new Floats(0.44f, 0.44f, 0.44f);
            schlick.Parameters["surface_specular_reflectance_color"]     = new Floats(1.0f, 1.0f, 1.0f);
            schlick.Parameters["surface_specular_reflectance_exponent"]  = new Floats(80.0f);
            schlick.Parameters["surface_roughness"]                      = new Floats(0.02f);

            grid = new Material(renderer.Programs["Grid"], MeshMode.PolygonFill);
            grid.Parameters["grid_size"]                                = new Floats(1.0f, 1.0f);
            grid.Parameters["surface_color"]                            = new Floats(0.22f, 0.22f, 0.22f);
            grid.Parameters["surface_rim_color"]                        = new Floats(0.0f, 0.0f, 0.0f);
            grid.Parameters["surface_diffuse_reflectance_color"]        = new Floats(0.44f, 0.44f, 0.44f);
            grid.Parameters["surface_specular_reflectance_color"]       = new Floats(1.0f, 1.0f, 1.0f);
            grid.Parameters["surface_specular_reflectance_exponent"]    = new Floats(100.0f);
            grid.Parameters["surface_roughness"]                        = new Floats(0.02f);

            materials["pearl"]      = MakeSimpleMaterial(1.00f, 0.80f, 0.80f, 0.8f, 0.2f, 0.90f);
            materials["gold"]       = MakeSimpleMaterial(1.00f, 0.60f, 0.01f, 0.6f, 0.4f, 0.03f);
            materials["red"]        = MakeSimpleMaterial(1.00f, 0.05f, 0.00f, 0.4f, 0.4f, 0.04f);
            materials["green"]      = MakeSimpleMaterial(0.05f, 1.00f, 0.15f, 0.05f, 0.3f, 0.005f);
            materials["cyan"]       = MakeSimpleMaterial(0.05f, 0.80f, 1.00f, 0.2f, 0.4f, 0.80f);
            materials["blue"]       = MakeSimpleMaterial(0.15f, 0.20f, 0.80f, 0.4f, 1.0f, 0.01f);
            materials["magenta"]    = MakeSimpleMaterial(1.00f, 0.05f, 1.00f, 0.4f, 1.0f, 0.02f);
            materials["pink"]       = MakeSimpleMaterial(1.00f, 0.33f, 0.66f, 0.6f, 0.1f, 0.01f);
            materials["grid"]       = grid;
            materials["schlick"]    = schlick;

            @default = schlick;
        }

Property Documentation

override string example.UI.MaterialManager.Name [get]

Reimplemented from example.UI.Service.

Definition at line 39 of file example.UI/MaterialManager.cs.

Material example.UI.MaterialManager.Default [get]

Definition at line 52 of file example.UI/MaterialManager.cs.

Material example.UI.MaterialManager.Schlick [get]

Definition at line 53 of file example.UI/MaterialManager.cs.

Material example.UI.MaterialManager.GridMaterial [get]

Definition at line 54 of file example.UI/MaterialManager.cs.

Material example.UI.MaterialManager.Textured [get]

Definition at line 55 of file example.UI/MaterialManager.cs.

Dictionary<string, Material> example.UI.MaterialManager.Materials [get]

Definition at line 59 of file example.UI/MaterialManager.cs.

Material example.UI.MaterialManager.this[string name] [get]

Definition at line 66 of file example.UI/MaterialManager.cs.


The documentation for this class was generated from the following file: