Ejemplo n.º 1
0
        protected override void OnRenderFrame(FrameEventArgs e)
        {
            GL.ClearColor(Color.Black);
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
            GL.LoadIdentity();

            GL.Rotate(cameraXAngle, 1, 0, 0);
            GL.Rotate(cameraYAngle, 0, 1, 0);

            GL.PushMatrix();

            GL.Translate(cuboidXPossitionFromCenter, 0, cuboidZPossitionFromCenter);

            GL.Translate(translationXToRotationPoint, 0, translationZToRotationPoint);
            GL.Rotate(cuboidFallingZDirectionAngle, 1, 0, 0);
            GL.Rotate(cuboidFallingXDirectionAngle, 0, 0, 1);
            GL.Translate(-translationXToRotationPoint, 0, -translationZToRotationPoint);

            if (cuboidOrientation == CuboidOrientation.Standing)
            {
                Cuboid.DrawStandingCuboid(sizeUnit, cuboidColor);
            }
            else if (cuboidOrientation == CuboidOrientation.LyingXAxis)
            {
                Cuboid.DrawLyingCuboidXAxis(sizeUnit, cuboidColor);
            }
            else if (cuboidOrientation == CuboidOrientation.LyingZAxis)
            {
                Cuboid.DrawLyingCuboidZAxis(sizeUnit, cuboidColor);
            }

            GL.PopMatrix();

            Floor.Draw(sizeUnit, numberOfTilesPerRow, primaryTileColor, secondaryTileColor);

            SwapBuffers();
        }