Index

Package: Materials

Description

package GL.Materials is

Types

Material_type

type Material_type is record
    ambient,
    diffuse,
    specular,
    emission   : GL.Material_Float_vector;
    shininess  : GL.C_Float; -- 0.0 .. 128.0
  end record;

References:

gl-materials.ads:25:8 (declaration)
gl-materials.adb:3:36 (reference)
gl-materials.ads:33:35 (reference)
gl-materials.ads:36:14 (reference)
gl-materials.ads:45:21 (reference)
gl-materials.ads:53:24 (reference)
gl-materials.ads:61:24 (reference)
gl-materials.ads:69:23 (reference)
gl-materials.ads:77:24 (reference)
gl-materials.ads:85:22 (reference)
gl-materials.ads:93:24 (reference)
gl-materials.ads:101:23 (reference)
gl-materials.ads:109:23 (reference)
gl-materials.ads:117:29 (reference)
gl-materials.ads:125:28 (reference)
gl-materials.ads:135:23 (reference)
gl-materials.ads:143:24 (reference)
gl-materials.ads:149:25 (reference)
gl-materials.ads:155:34 (reference)
gl-materials.ads:161:25 (reference)
gl-materials.ads:167:25 (reference)
gl-materials.ads:173:34 (reference)
gl-materials.ads:179:23 (reference)
gl-materials.ads:185:32 (reference)
gl-materials.ads:191:25 (reference)
gl-materials.ads:197:25 (reference)
gl-materials.ads:203:34 (reference)
gl-materials.ads:209:26 (reference)
gl-materials.ads:215:23 (reference)
gl-materials.ads:221:27 (reference)
gl-materials.ads:227:24 (reference)
gl-materials.ads:233:23 (reference)
gl-materials.ads:239:28 (reference)
gl-materials.ads:245:32 (reference)
gl-materials.ads:251:31 (reference)
gl-materials.ads:258:31 (reference)
gl-skins.adb:57:42 (reference)
gl-skins.ads:71:35 (reference)
globe_3d.adb:88:43 (reference)
globe_3d.adb:97:45 (reference)
globe_3d.ads:313:36 (reference)
globe_3d.ads:590:43 (reference)
globe_3d.ads:594:45 (reference)
models.adb:19:72 (reference)
models.adb:47:54 (reference)
models.adb:47:93 (reference)
spaceship_p.adb:15:23 (reference)
sphere_p.adb:15:23 (reference)

Constants & Global variables

neutral_material (Material_type)

neutral_material :
    constant Material_type := (ambient =>        (0.2, 0.2, 0.2, 1.0),
                              diffuse =>        (0.8, 0.8, 0.8, 1.0),
                              specular =>       (0.0, 0.0, 0.0, 1.0),
                              emission =>       (0.0, 0.0, 0.0, 1.0),
                              shininess =>      0.0);

References:

gl-materials.ads:35:3 (declaration)
gl-skins.ads:71:62 (reference)
globe_3d.adb:452:46 (reference)
globe_3d.ads:314:22 (reference)
^ the values are GL defaults.

Red (Material_type)

Red    : constant Material_type := (
    ambient   => (0.0, 0.0, 0.0, 1.0),
    diffuse   => (1.0, 0.0, 0.0, 1.0),
    specular  => (0.0225, 0.0225, 0.0225, 1.0),
    emission  => (0.0, 0.0, 0.0, 1.0),
    shininess => 12.8
);

References:

gl-materials.ads:45:3 (declaration)

Orange (Material_type)

Orange    : constant Material_type := (
    ambient   => (0.0, 0.0, 0.0, 1.0),
    diffuse   => (0.992157, 0.513726, 0.0, 1.0),
    specular  => (0.0225, 0.0225, 0.0225, 1.0),
    emission  => (0.0, 0.0, 0.0, 1.0),
    shininess => 12.8
);

References:

gl-materials.ads:53:3 (declaration)

Yellow (Material_type)

Yellow    : constant Material_type := (
    ambient   => (0.0, 0.0, 0.0, 1.0),
    diffuse   => (1.0, 0.964706, 0.0, 1.0),
    specular  => (0.0225, 0.0225, 0.0225, 1.0),
    emission  => (0.0, 0.0, 0.0, 1.0),
    shininess => 12.8
);

References:

gl-materials.ads:61:3 (declaration)

Green (Material_type)

Green    : constant Material_type := (
    ambient   => (0.0, 0.0, 0.0, 1.0),
    diffuse   => (0.0, 1.0, 0.0, 1.0),
    specular  => (0.0225, 0.0225, 0.0225, 1.0),
    emission  => (0.0, 0.0, 0.0, 1.0),
    shininess => 12.8
);

References:

gl-materials.ads:69:3 (declaration)

Indigo (Material_type)

Indigo    : constant Material_type := (
    ambient   => (0.0, 0.0, 0.0, 1.0),
    diffuse   => (0.0980392, 0.0, 0.458824, 1.0),
    specular  => (0.0225, 0.0225, 0.0225, 1.0),
    emission  => (0.0, 0.0, 0.0, 1.0),
    shininess => 12.8
);

References:

gl-materials.ads:77:3 (declaration)

Blue (Material_type)

Blue    : constant Material_type := (
    ambient   => (0.0, 0.0, 0.0, 1.0),
    diffuse   => (0.0, 0.0, 1.0, 1.0),
    specular  => (0.0225, 0.0225, 0.0225, 1.0),
    emission  => (0.0, 0.0, 0.0, 1.0),
    shininess => 12.8
);

References:

gl-materials.ads:85:3 (declaration)

Violet (Material_type)

Violet    : constant Material_type := (
    ambient   => (0.0, 0.0, 0.0, 1.0),
    diffuse   => (0.635294, 0.0, 1.0, 1.0),
    specular  => (0.0225, 0.0225, 0.0225, 1.0),
    emission  => (0.0, 0.0, 0.0, 1.0),
    shininess => 12.8
);

References:

gl-materials.ads:93:3 (declaration)

White (Material_type)

White    : constant Material_type := (
    ambient   => (0.0, 0.0, 0.0, 1.0),
    diffuse   => (0.992157, 0.992157, 0.992157, 1.0),
    specular  => (0.0225, 0.0225, 0.0225, 1.0),
    emission  => (0.0, 0.0, 0.0, 1.0),
    shininess => 12.8
);

References:

gl-materials.ads:101:3 (declaration)

Black (Material_type)

Black    : constant Material_type := (
    ambient   => (0.0, 0.0, 0.0, 1.0),
    diffuse   => (0.0, 0.0, 0.0, 1.0),
    specular  => (0.0225, 0.0225, 0.0225, 1.0),
    emission  => (0.0, 0.0, 0.0, 1.0),
    shininess => 12.8
);

References:

gl-materials.ads:109:3 (declaration)

Medium_Gray (Material_type)

Medium_Gray    : constant Material_type := (
    ambient   => (0.0, 0.0, 0.0, 1.0),
    diffuse   => (0.454902, 0.454902, 0.454902, 1.0),
    specular  => (0.0225, 0.0225, 0.0225, 1.0),
    emission  => (0.0, 0.0, 0.0, 1.0),
    shininess => 12.8
);

References:

gl-materials.ads:117:3 (declaration)

Light_Gray (Material_type)

Light_Gray    : constant Material_type := (
    ambient   => (0.0, 0.0, 0.0, 1.0),
    diffuse   => (0.682353, 0.682353, 0.682353, 1.0),
    specular  => (0.0225, 0.0225, 0.0225, 1.0),
    emission  => (0.0, 0.0, 0.0, 1.0),
    shininess => 12.8
);

References:

gl-materials.ads:125:3 (declaration)

Glass (Material_type)

Glass    : constant Material_type := (
              ambient   => (0.0, 0.0, 0.0, 1.0),
              diffuse   => (0.588235, 0.670588, 0.729412, 1.0),
              specular  => (0.9, 0.9, 0.9, 1.0),
              emission  => (0.0, 0.0, 0.0, 1.0),
              shininess => 96.0
);

References:

gl-materials.ads:135:3 (declaration)

Brass (Material_type)

Brass     : constant Material_type := (
            ambient =>        (0.329412, 0.223529, 0.027451, 1.0),
            diffuse =>        (0.780392, 0.568627, 0.113725, 1.0),
            specular =>       (0.992157, 0.941176, 0.807843, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      27.8974);

References:

gl-materials.ads:143:3 (declaration)

Bronze (Material_type)

Bronze     : constant Material_type := (
            ambient =>        (0.2125, 0.1275, 0.054, 1.0),
            diffuse =>        (0.714, 0.4284, 0.18144, 1.0),
            specular =>       (0.393548, 0.271906, 0.166721, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      25.6);

References:

gl-materials.ads:149:3 (declaration)

Polished_Bronze (Material_type)

Polished_Bronze     : constant Material_type := (
            ambient =>        (0.25, 0.148, 0.06475, 1.0),
            diffuse =>        (0.4, 0.2368, 0.1036, 1.0),
            specular =>       (0.774597, 0.458561, 0.200621, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      76.8);

References:

gl-materials.ads:155:3 (declaration)

Chrome (Material_type)

Chrome     : constant Material_type := (
            ambient =>        (0.25, 0.25, 0.25, 1.0),
            diffuse =>        (0.4, 0.4, 0.4, 1.0),
            specular =>       (0.774597, 0.774597, 0.774597, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      76.8);

References:

gl-materials.ads:161:3 (declaration)

Copper (Material_type)

Copper     : constant Material_type := (
            ambient =>        (0.19125, 0.0735, 0.0225, 1.0),
            diffuse =>        (0.7038, 0.27048, 0.0828, 1.0),
            specular =>       (0.256777, 0.137622, 0.086014, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      12.8);

References:

gl-materials.ads:167:3 (declaration)

Polished_Copper (Material_type)

Polished_Copper     : constant Material_type := (
            ambient =>        (0.2295, 0.08825, 0.0275, 1.0),
            diffuse =>        (0.5508, 0.2118, 0.066, 1.0),
            specular =>       (0.580594, 0.223257, 0.0695701, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      51.2);

References:

gl-materials.ads:173:3 (declaration)

Gold (Material_type)

Gold     : constant Material_type := (
            ambient =>        (0.24725, 0.1995, 0.0745, 1.0),
            diffuse =>        (0.75164, 0.60648, 0.22648, 1.0),
            specular =>       (0.628281, 0.555802, 0.366065, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      51.2);

References:

gl-materials.ads:179:3 (declaration)

Polished_Gold (Material_type)

Polished_Gold     : constant Material_type := (
            ambient =>        (0.24725, 0.2245, 0.0645, 1.0),
            diffuse =>        (0.34615, 0.3143, 0.0903, 1.0),
            specular =>       (0.797357, 0.723991, 0.208006, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      83.2);

References:

gl-materials.ads:185:3 (declaration)

Pewter (Material_type)

Pewter     : constant Material_type := (
            ambient =>        (0.105882, 0.058824, 0.113725, 1.0),
            diffuse =>        (0.427451, 0.470588, 0.541176, 1.0),
            specular =>       (0.333333, 0.333333, 0.521569, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      9.84615);

References:

gl-materials.ads:191:3 (declaration)

Silver (Material_type)

Silver     : constant Material_type := (
            ambient =>        (0.19225, 0.19225, 0.19225, 1.0),
            diffuse =>        (0.50754, 0.50754, 0.50754, 1.0),
            specular =>       (0.508273, 0.508273, 0.508273, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      51.2);

References:

gl-materials.ads:197:3 (declaration)

Polished_Silver (Material_type)

Polished_Silver     : constant Material_type := (
            ambient =>        (0.23125, 0.23125, 0.23125, 1.0),
            diffuse =>        (0.2775, 0.2775, 0.2775, 1.0),
            specular =>       (0.773911, 0.773911, 0.773911, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      89.6);

References:

gl-materials.ads:203:3 (declaration)

Emerald (Material_type)

Emerald     : constant Material_type := (
            ambient =>        (0.0215, 0.1745, 0.0215, 0.55),
            diffuse =>        (0.07568, 0.61424, 0.07568, 0.55),
            specular =>       (0.633, 0.727811, 0.633, 0.55),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      76.8);

References:

gl-materials.ads:209:3 (declaration)

Jade (Material_type)

Jade     : constant Material_type := (
            ambient =>        (0.135, 0.2225, 0.1575, 0.95),
            diffuse =>        (0.54, 0.89, 0.63, 0.95),
            specular =>       (0.316228, 0.316228, 0.316228, 0.95),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      12.8);

References:

gl-materials.ads:215:3 (declaration)

Obsidian (Material_type)

Obsidian     : constant Material_type := (
            ambient =>        (0.05375, 0.05, 0.06625, 0.82),
            diffuse =>        (0.18275, 0.17, 0.22525, 0.82),
            specular =>       (0.332741, 0.328634, 0.346435, 0.82),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      38.4);

References:

gl-materials.ads:221:3 (declaration)

Pearl (Material_type)

Pearl     : constant Material_type := (
            ambient =>        (0.25, 0.20725, 0.20725, 0.922),
            diffuse =>        (1.0, 0.829, 0.829, 0.922),
            specular =>       (0.296648, 0.296648, 0.296648, 0.922),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      11.264);

References:

gl-materials.ads:227:3 (declaration)
models.adb:67:173 (reference)
models.adb:83:107 (reference)
models.adb:84:107 (reference)

Ruby (Material_type)

Ruby     : constant Material_type := (
            ambient =>        (0.1745, 0.01175, 0.01175, 0.55),
            diffuse =>        (0.61424, 0.04136, 0.04136, 0.55),
            specular =>       (0.727811, 0.626959, 0.626959, 0.55),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      76.8);

References:

gl-materials.ads:233:3 (declaration)
models.adb:69:165 (reference)
models.adb:83:96 (reference)

Turquoise (Material_type)

Turquoise     : constant Material_type := (
            ambient =>        (0.1, 0.18725, 0.1745, 0.8),
            diffuse =>        (0.396, 0.74151, 0.69102, 0.8),
            specular =>       (0.297254, 0.30829, 0.306678, 0.8),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      12.8);

References:

gl-materials.ads:239:3 (declaration)
models.adb:84:96 (reference)

Black_Plastic (Material_type)

Black_Plastic     : constant Material_type := (
            ambient =>        (0.0, 0.0, 0.0, 1.0),
            diffuse =>        (0.01, 0.01, 0.01, 1.0),
            specular =>       (0.50, 0.50, 0.50, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      32.0);

References:

gl-materials.ads:245:3 (declaration)

Black_Rubber (Material_type)

Black_Rubber     : constant Material_type := (
            ambient =>        (0.02, 0.02, 0.02, 1.0),
            diffuse =>        (0.01, 0.01, 0.01, 1.0),
            specular =>       (0.4, 0.4, 0.4, 1.0),
            emission =>       (0.0, 0.0, 0.0, 0.0),
            shininess =>      10.0);

References:

gl-materials.ads:251:3 (declaration)

VRML_Defaults (Material_type)

VRML_Defaults    : constant Material_type := (
            ambient =>        (0.2, 0.2, 0.2, 1.0),
            diffuse =>        (0.8, 0.8, 0.8, 1.0),
            specular =>       (0.0, 0.0, 0.0, 1.0),
            emission =>       (0.0, 0.0, 0.0, 1.0),
            shininess =>       25.6);

References:

gl-materials.ads:258:3 (declaration)
spaceship_p.adb:626:26 (reference)
sphere_p.adb:147:26 (reference)

Subprograms & Entries

is_Transparent

function is_Transparent 
(Self: Material_type) return Boolean;

References:

gl-materials.ads:33:12 (declaration)
gl-materials.adb:3:13 (body)
gl-skins.adb:121:94 (call)