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 }
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); }