Material.DrawContent C# (CSharp) Method

DrawContent() protected method

protected DrawContent ( ) : void
return void
    protected override void DrawContent()
    {
        GI.MatrixMode(MatrixMode.Modelview);
        GI.LoadIdentity();

    /*  draw sphere in first row, first column
     *  diffuse reflection only; no ambient or specular  
     */
        GI.PushMatrix();
        GI.Translate (-3.75f, 3.0f, 0.0f);
        GI.Material(GLFace.Front, MaterialParameter.Ambient, no_mat);
        GI.Material(GLFace.Front, MaterialParameter.Diffuse, mat_diffuse);
        GI.Material(GLFace.Front, MaterialParameter.Specular, no_mat);
        GI.Material(GLFace.Front, MaterialParameter.Shininess, no_shininess);
        GI.Material(GLFace.Front, MaterialParameter.Emission, no_mat);
        sphere.Render(GI);
        GI.PopMatrix();

    ///*  draw sphere in first row, second column
    // *  diffuse and specular reflection; low shininess; no ambient
    // */
        GI.PushMatrix();
        GI.Translate(-1.25f, 3.0f, 0.0f);
        GI.Material(GLFace.Front, MaterialParameter.Ambient, no_mat);
        GI.Material(GLFace.Front, MaterialParameter.Diffuse, mat_diffuse);
        GI.Material(GLFace.Front, MaterialParameter.Specular, mat_specular);
        GI.Material(GLFace.Front, MaterialParameter.Shininess, low_shininess);
        GI.Material(GLFace.Front, MaterialParameter.Emission, no_mat);
        sphere.Render(GI);
        GI.PopMatrix();

    ///*  draw sphere in first row, third column
    // *  diffuse and specular reflection; high shininess; no ambient
    // */
        GI.PushMatrix();
        GI.Translate(1.25f, 3.0f, 0.0f);
        GI.Material(GLFace.Front, MaterialParameter.Ambient, no_mat);
        GI.Material(GLFace.Front, MaterialParameter.Diffuse, mat_diffuse);
        GI.Material(GLFace.Front, MaterialParameter.Specular, mat_specular);
        GI.Material(GLFace.Front, MaterialParameter.Shininess, high_shininess);
        GI.Material(GLFace.Front, MaterialParameter.Emission, no_mat);
        sphere.Render(GI);
        GI.PopMatrix();

    ///*  draw sphere in first row, fourth column
    // *  diffuse reflection; emission; no ambient or specular reflection
    // */
        GI.PushMatrix();
        GI.Translate(3.75f, 3.0f, 0.0f);
        GI.Material(GLFace.Front, MaterialParameter.Ambient, no_mat);
        GI.Material(GLFace.Front, MaterialParameter.Diffuse, mat_diffuse);
        GI.Material(GLFace.Front, MaterialParameter.Specular, no_mat);
        GI.Material(GLFace.Front, MaterialParameter.Shininess, no_shininess);
        GI.Material(GLFace.Front, MaterialParameter.Emission, mat_emission);
        sphere.Render(GI);
        GI.PopMatrix();

    ///*  draw sphere in second row, first column
    // *  ambient and diffuse reflection; no specular  
    // */
        GI.PushMatrix();
        GI.Translate(-3.75f, 0.0f, 0.0f);
        GI.Material(GLFace.Front, MaterialParameter.Ambient, mat_ambient);
        GI.Material(GLFace.Front, MaterialParameter.Diffuse, mat_diffuse);
        GI.Material(GLFace.Front, MaterialParameter.Specular, no_mat);
        GI.Material(GLFace.Front, MaterialParameter.Shininess, no_shininess);
        GI.Material(GLFace.Front, MaterialParameter.Emission, no_mat);
        sphere.Render(GI);
        GI.PopMatrix();

    ///*  draw sphere in second row, second column
    // *  ambient, diffuse and specular reflection; low shininess
    // */
        GI.PushMatrix();
        GI.Translate(-1.25f, 0.0f, 0.0f);
        GI.Material(GLFace.Front, MaterialParameter.Ambient, mat_ambient);
        GI.Material(GLFace.Front, MaterialParameter.Diffuse, mat_diffuse);
        GI.Material(GLFace.Front, MaterialParameter.Specular, mat_specular);
        GI.Material(GLFace.Front, MaterialParameter.Shininess, low_shininess);
        GI.Material(GLFace.Front, MaterialParameter.Emission, no_mat);
        sphere.Render(GI);
        GI.PopMatrix();

    ///*  draw sphere in second row, third column
    // *  ambient, diffuse and specular reflection; high shininess
    // */
        GI.PushMatrix();
        GI.Translate(1.25f, 0.0f, 0.0f);
        GI.Material(GLFace.Front, MaterialParameter.Ambient, mat_ambient);
        GI.Material(GLFace.Front, MaterialParameter.Diffuse, mat_diffuse);
        GI.Material(GLFace.Front, MaterialParameter.Specular, mat_specular);
        GI.Material(GLFace.Front, MaterialParameter.Shininess, high_shininess);
        GI.Material(GLFace.Front, MaterialParameter.Emission, no_mat);
        sphere.Render(GI);
        GI.PopMatrix();

    ///*  draw sphere in second row, fourth column
    // *  ambient and diffuse reflection; emission; no specular
    // */
        GI.PushMatrix();
        GI.Translate(3.75f, 0.0f, 0.0f);
        GI.Material(GLFace.Front, MaterialParameter.Ambient, mat_ambient);
        GI.Material(GLFace.Front, MaterialParameter.Diffuse, mat_diffuse); 
        GI.Material(GLFace.Front, MaterialParameter.Specular, no_mat);
        GI.Material(GLFace.Front, MaterialParameter.Shininess, no_shininess);
        GI.Material(GLFace.Front, MaterialParameter.Emission, mat_emission);
        sphere.Render(GI);
        GI.PopMatrix();

    ///*  draw sphere in third row, first column
    // *  colored ambient and diffuse reflection; no specular  
    // */
        GI.PushMatrix();
        GI.Translate(-3.75f, -3.0f, 0.0f);
        GI.Material(GLFace.Front, MaterialParameter.Ambient, mat_ambient_color);
        GI.Material(GLFace.Front, MaterialParameter.Diffuse, mat_diffuse);
        GI.Material(GLFace.Front, MaterialParameter.Specular, no_mat);
        GI.Material(GLFace.Front, MaterialParameter.Shininess, no_shininess);
        GI.Material(GLFace.Front, MaterialParameter.Emission, no_mat);
        sphere.Render(GI);
        GI.PopMatrix();

    ///*  draw sphere in third row, second column
    // *  colored ambient, diffuse and specular reflection; low shininess
    // */
        GI.PushMatrix();
        GI.Translate(-1.25f, -3.0f, 0.0f);
        GI.Material(GLFace.Front, MaterialParameter.Ambient, mat_ambient_color);
        GI.Material(GLFace.Front, MaterialParameter.Diffuse, mat_diffuse);
        GI.Material(GLFace.Front, MaterialParameter.Specular, mat_specular);
        GI.Material(GLFace.Front, MaterialParameter.Shininess, low_shininess);
        GI.Material(GLFace.Front, MaterialParameter.Emission, no_mat);
        sphere.Render(GI);
        GI.PopMatrix();

    ///*  draw sphere in third row, third column
    // *  colored ambient, diffuse and specular reflection; high shininess
    // */
        GI.PushMatrix();
        GI.Translate(1.25f, -3.0f, 0.0f);
        GI.Material(GLFace.Front, MaterialParameter.Ambient, mat_ambient_color);
        GI.Material(GLFace.Front, MaterialParameter.Diffuse, mat_diffuse);
        GI.Material(GLFace.Front, MaterialParameter.Specular, mat_specular);
        GI.Material(GLFace.Front, MaterialParameter.Shininess, high_shininess);
        GI.Material(GLFace.Front, MaterialParameter.Emission, no_mat);
        sphere.Render(GI);
        GI.PopMatrix();

    ///*  draw sphere in third row, fourth column
    // *  colored ambient and diffuse reflection; emission; no specular
    // */
        GI.PushMatrix();
        GI.Translate(3.75f, -3.0f, 0.0f);
        GI.Material(GLFace.Front, MaterialParameter.Ambient, mat_ambient_color);
        GI.Material(GLFace.Front, MaterialParameter.Diffuse, mat_diffuse);
        GI.Material(GLFace.Front, MaterialParameter.Specular, no_mat);
        GI.Material(GLFace.Front, MaterialParameter.Shininess, no_shininess);
        GI.Material(GLFace.Front, MaterialParameter.Emission, mat_emission);
        sphere.Render(GI);
        GI.PopMatrix();

        GI.Flush();
    }
}