glColor4d() private method

private glColor4d ( double red, double green, double blue, double alpha ) : void
red double
green double
blue double
alpha double
return void
示例#1
0
文件: cOGL.cs 项目: matanmaron/Tanks
        void DrawMirror(bool screen)
        {
            GL.glTranslatef(0f, 0f, -30f);

            GL.glBegin(GL.GL_QUADS);
            //!!! for blended REFLECTION
            float mirrorhight = 3;
            float mirrorwidth = 15;

            if (screen)
            {
                GL.glColor4d(0.0, 0.0, 0.6, 0.4);
            }
            else
            {
                GL.glColor4d(1, 1, 1, 0);
            }
            GL.glVertex3f(0, 0, 0);
            GL.glVertex3f(0, 0, mirrorwidth);
            GL.glVertex3f(0, mirrorhight, mirrorwidth);
            GL.glVertex3f(0, mirrorhight, 0);
            GL.glEnd();

            GL.glTranslatef(0f, 0f, 30f);
        }
示例#2
0
 public void Draw()
 {
     GL.glEnable(GL.GL_LIGHTING);
     GL.glBegin(GL.GL_QUADS);
     //!!! for blended REFLECTION
     GL.glColor4d(0, 0, 1, 0.5);
     GL.glVertex3d(-3, -3, 0);
     GL.glVertex3d(-3, 3, 0);
     GL.glVertex3d(3, 3, 0);
     GL.glVertex3d(3, -3, 0);
     GL.glEnd();
 }
示例#3
0
 void DrawFloor()
 {
     GL.glEnable(GL.GL_LIGHTING);
     GL.glBegin(GL.GL_QUADS);
     //!!! for blended REFLECTION
     GL.glColor4d(0, 0, 1, 0.5);
     GL.glVertex3d(-1, -1, 0);
     GL.glVertex3d(-1, 1, 0);
     GL.glVertex3d(1, 1, 0);
     GL.glVertex3d(1, -1, 0);
     GL.glEnd();
 }
示例#4
0
        protected void DrawFloor()
        {
            GL.glEnable(GL.GL_LIGHTING);
            GL.glEnable(GL.GL_COLOR_MATERIAL);
            GL.glColor4d(0, 0, 1, 0.3);

            GL.glBegin(GL.GL_QUADS);

            GL.glVertex3d(-7, -4, 7);
            GL.glVertex3d(7, -4, 7);
            GL.glVertex3d(7, -4, -7);
            GL.glVertex3d(-7, -4, -7);

            GL.glEnd();
            GL.glDisable(GL.GL_LIGHTING);
        }
示例#5
0
        void DrawFloor3()
        {
            float[] WHITE   = { 1f, 1f, 1f };
            float[] RED     = { 1, 0, 0 };
            float[] GREEN   = { 0, 1, 0 };
            float[] MAGENTA = { 1, 0, 1 };

            int width = 45;
            int depth = 45;

            GL.glEnable(GL.GL_LIGHTING);
            GL.glBegin(GL.GL_QUADS);

            for (int x = -width; x < width; x += 2)
            {
                for (int z = -depth; z < depth; z += 2)
                {
                    if ((x + z) % 4 == 0)
                    {
                        GL.glColor4d(1, 0, 0, 0.5);
                    }
                    else
                    {
                        GL.glColor4d(1, 1, 1, 0.5);
                    }

                    GL.glVertex3d(x + hghg + xExis, z + yExis, ground[0, 2] - 0.05);
                    GL.glVertex3d(x + hghg + 2 + xExis, z + yExis, ground[0, 2] - 0.05);
                    GL.glVertex3d(x + 2 + hghg + xExis, z + 2 + yExis, ground[0, 2] - 0.05);
                    GL.glVertex3d(x + hghg + xExis, z + 2 + yExis, ground[0, 2] - 0.05);
                }
            }


            GL.glEnd();
        }
示例#6
0
        void DrawFigures()
        {
            skyBox.DrawSkyBox();
            MainLightSource.DrawLightSource(new float[] { 1, 1, 0 });
            StaticRedLightSource.DrawLightSource(new float[] { 1, 0, 0 });
            StaticBlueLightSource.DrawLightSource(new float[] { 0, 0, 1 });
            //Banner Light source
            GL.glTranslatef(bannerLightPos[0], bannerLightPos[1], bannerLightPos[2]);
            Random r = new Random();

            GL.glColor3d(r.NextDouble(), r.NextDouble(), r.NextDouble());
            GLUT.glutSolidSphere(0.1, 8, 8);
            GL.glTranslatef(-bannerLightPos[0], -bannerLightPos[1], -bannerLightPos[2]);
            GL.glEnd();
            GL.glDisable(GL.GL_DEPTH_TEST);
            GL.glDisable(GL.GL_LIGHTING);
            // Start Drawing Floor Shadow
            GL.glPushMatrix();
            GL.glEnable(GL.GL_BLEND);
            GL.glColor4d(0, 0, 0, 0.25);
            mainShadowManager.MakeShadowMatrix(mainShadowManager.Ground, cubeXform);
            GL.glMultMatrixf(cubeXform);
            m_SideMachine.DrawSideMachines(new double[3] {
                0, -0.4, 6
            }, true);
            m_SideMachine.DrawSideMachines(new double[3] {
                0, -0.4, -6
            }, true);
            GL.glCallList(SHADOW_LIST);

            //GL.glColor4d(0.05, 0, 0, 0.25);
            //redShadowManager.MakeShadowMatrix(redShadowManager.Ground, cubeXform);
            //GL.glMultMatrixf(cubeXform);
            //m_SideMachine.DrawSideMachines(new double[3] { 0, -0.4, 6 }, true);
            //m_SideMachine.DrawSideMachines(new double[3] { 0, -0.4, -6 }, true);
            //GL.glCallList(SHADOW_LIST);

            //GL.glColor4d(0, 0, 0.05, 0.25);
            //blueShadowManager.MakeShadowMatrix(blueShadowManager.Ground, cubeXform);
            //GL.glMultMatrixf(cubeXform);
            //m_SideMachine.DrawSideMachines(new double[3] { 0, -0.4, 6 }, true);
            //m_SideMachine.DrawSideMachines(new double[3] { 0, -0.4, -6 }, true);
            //GL.glCallList(SHADOW_LIST);

            GL.glDisable(GL.GL_BLEND);
            GL.glPopMatrix();
            //for (int i = 0; i < 4; i++)
            //{
            //    GL.glPushMatrix();
            //    shadowManager.MakeShadowMatrix(shadowManager.Walls[i], cubeXform);
            //    GL.glMultMatrixf(cubeXform);
            //    m_SideMachine.DrawSideMachines(new double[3] { 0, -0.4, 6 }, true);
            //    m_SideMachine.DrawSideMachines(new double[3] { 0, -0.4, -6 }, true);
            //    GL.glCallList(SHADOW_LIST);
            //    GL.glPopMatrix();
            //}
            //End Drawing Floor Shadow
            GL.glEnable(GL.GL_DEPTH_TEST);
            GL.glEnable(GL.GL_COLOR_MATERIAL);
            GL.glEnable(GL.GL_LIGHT0);
            GL.glEnable(GL.GL_LIGHT1);
            GL.glEnable(GL.GL_LIGHT2);
            GL.glEnable(GL.GL_LIGHT3);
            GL.glEnable(GL.GL_LIGHTING);

            GL.glPushMatrix();
            m_SideMachine.DrawSideMachines(new double[3] {
                0, -0.4, 6
            }, false);
            m_SideMachine.DrawSideMachines(new double[3] {
                0, -0.4, -6
            }, false);

            //toyCar.DrawToy(new double[3] { 1.4, 0.3, 0 }, new double[4] { 40, 0, 1, 0 }, false);

            GL.glCallList(CLAW_MACHINE_LIST);
            GL.glPopMatrix();
            GL.glDisable(GL.GL_COLOR_MATERIAL);
            GL.glDisable(GL.GL_LIGHTING);
            //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        }