Example #1
0
        public void Draw(double time)
        {
            ParentStage.ShaderProgram.SetUniform("in_color", _colours.EvenBackgroundColour);
            BackgroundPolygon.Draw(time, 1);
            ParentStage.ShaderProgram.SetUniform("in_color", _colours.OddBackgroundColour);
            BackgroundPolygon.Draw(time, 2);

            ParentStage.ShaderProgram.SetUniform("in_color", _colours.EvenOutlineColour);
            _onsetDrawing.DrawOutlines(time, 1);
            ParentStage.ShaderProgram.SetUniform("in_color", _colours.OddOutlineColour);
            _onsetDrawing.DrawOutlines(time, 2);

            ParentStage.ShaderProgram.SetUniform("in_color", _colours.EvenOpposingColour);

            _onsetDrawing.Draw(time, 1);

            if (_onsetDrawing.DrawingIndex < _onsetDrawing.DrawingCount && Collided)
            {
                ParentStage.ShaderProgram.SetUniform("in_color", _colours.EvenCollisionColour);
                _onsetDrawing.DrawCurrentBeat(time, 1);
            }
            CenterPolygon.Draw(time, 1);
            ParentStage.ShaderProgram.SetUniform("in_color", _colours.OddOpposingColour);

            _onsetDrawing.Draw(time, 2);

            if (_onsetDrawing.DrawingIndex < _onsetDrawing.DrawingCount && Collided)
            {
                ParentStage.ShaderProgram.SetUniform("in_color", _colours.OddCollisionColour);
                _onsetDrawing.DrawCurrentBeat(time, 2);
            }

            CenterPolygon.Draw(time, 2);

            ParentStage.ShaderProgram.SetUniform("in_color", _colours.EvenOutlineColour);
            CenterPolygon.DrawOutline(time, 1);
            ParentStage.ShaderProgram.SetUniform("in_color", _colours.OddOutlineColour);
            CenterPolygon.DrawOutline(time, 2);

            if (CurrentColourMode == ColourMode.BlackAndWhite)
            {
                ParentStage.ShaderProgram.SetUniform("in_color", _colours.EvenOpposingColour);
            }
            else if (CurrentColourMode == ColourMode.Regular)
            {
                ParentStage.ShaderProgram.SetUniform("in_color", Color4.White);
            }
            Player.Draw(time);
            ParentStage.ShaderProgram.SetUniform("in_color", Color4.SkyBlue);
            //_p2.Draw(time);
        }
Example #2
0
        public override void Draw(double time)
        {
            GL.Disable(EnableCap.CullFace);
            _shaderProgram.Bind();
            _shaderProgram.SetUniform("mvp", SceneManager.ScreenCamera.WorldModelViewProjection);
            _shaderProgram.SetUniform("in_color", Color4.White);

            //Draw the player
            _player.Draw(time);

            //Draw the center polygon
            _centerPolygon.Draw(time);

            _shaderProgram.SetUniform("in_color", Color4.Black);
            _centerPolygon.DrawOutline(time);

            //Cleanup the program
            _shaderProgram.UnBind();

            _loadingFontDrawing.DrawingPrimitives.Clear();
            float yOffset = 0;

            yOffset += _loadingFontDrawing.Print(_loadingFont.Font, _loadingText, _loadingTextPosition).Height;
            yOffset  = MathHelper.Clamp(yOffset + 200 - 50 * SceneManager.ScreenCamera.Scale.Y, yOffset, SceneManager.GameWindow.Height * 0.5f);
            var pos = new Vector3(0, -yOffset, 0);

            yOffset += _loadingFontDrawing.Print(_loadingFont.Font, _songText, pos).Height;
            yOffset += _loadingFontDrawing.Print(_loadingFont.Font, _loadingStatus, new Vector3(0, -yOffset, 0), QFontAlignment.Centre).Height;
            _loadingFontDrawing.RefreshBuffers();
            _loadingFontDrawing.Draw();
        }
Example #3
0
        public override void Draw(double time)
        {
            _shaderProgram.Bind();
            _shaderProgram.SetUniform("mvp", SceneManager.ScreenCamera.WorldModelViewProjection);
            _shaderProgram.SetUniform("in_color", Color4.White);

            //Draw the player
            _player.Draw(time);

            //Draw the center polygon
            _centerPolygon.Draw(time);

            _shaderProgram.SetUniform("in_color", Color4.Black);
            _centerPolygon.DrawOutline(time);

            //Cleanup the program
            _shaderProgram.UnBind();

            _menuFontDrawing.RefreshBuffers();
            _menuFontDrawing.Draw();

            SceneManager.DrawTextLine("TURNT NINJA " + _gameVersion, new Vector3(-WindowWidth / 2 + 5, -WindowHeight / 2 + _versionFont.Font.MaxLineHeight, 0), Color.White, QFontAlignment.Left, _versionFont.Font);
        }