public void Render()
        {
            if (lineVertices == 0)
            {
                return;
            }
            rstate.Cull         = false;
            rstate.DepthEnabled = false;
            var vp = camera.ViewProjection;

            shader.SetViewProjection(ref vp);
            shader.UseProgram();
            linebuffer.SetData(lines, lineVertices);
            linebuffer.Draw(PrimitiveTypes.LineList, lineVertices / 2);
            rstate.Cull         = true;
            rstate.DepthEnabled = true;
        }
예제 #2
0
        void DrawCommands(RenderContext rs, int start, int count)
        {
            shaderBasic.UseProgram();
            rs.Cull = false;

            rs.BlendMode = rendat[datindex].BlendMode;
            if (_frameStart)
            {
                var v  = camera.View;
                var vp = camera.ViewProjection;
                shaderBasic.SetView(ref v);
                shaderBasic.SetViewProjection(ref vp);
                _frameStart = false;
            }

            rendat[datindex].Texture.BindTo(0);
            vboBasic.Draw(PrimitiveTypes.TriangleList, 0, start, count / 3);
            rs.Cull     = true;
            lastDatHash = -1;
        }