Пример #1
0
        public override void Render(IVertexSource <T> vertexSource, uint pathIndexToRender, RGBA_Bytes colorBytes)
        {
#if use_timers
            OpenGLRenderTimer.Start();
#endif
            PushOrthoProjection();

            vertexSource.Rewind(pathIndexToRender);

            RGBA_Doubles color = colorBytes.GetAsRGBA_Doubles();

            Gl.glColor4d(color.R, color.G, color.B, color.A);

            IAffineTransformMatrix <T> transform = GetTransform();
            if (!transform.Equals(MatrixFactory <T> .NewIdentity(VectorDimension.Two)))
            {
                vertexSource = new ConvTransform <T>(vertexSource, transform);
            }

            if (m_ForceTexturedEdgeAntiAliasing)
            {
                DrawAAShape(vertexSource);
            }
            else
            {
                SendShapeToTeselator(m_RenderNowTesselator, vertexSource);
            }

            PopOrthoProjection();
#if use_timers
            OpenGLRenderTimer.Stop();
#endif
        }
Пример #2
0
 public override void Render(IVertexSource<T> vertexSource, uint pathIndexToRender, RGBA_Bytes colorBytes)
 {
     m_Rasterizer.Reset();
     IAffineTransformMatrix<T> transform = GetTransform();
     if (!transform.Equals(MatrixFactory<T>.NewIdentity(VectorDimension.Two)))
     {
         vertexSource = new ConvTransform<T>(vertexSource, transform);
     }
     m_Rasterizer.AddPath(vertexSource, pathIndexToRender);
     Renderer<T>.RenderSolid(m_PixelFormat, m_Rasterizer, m_ScanlineCache, colorBytes);
 }