public Renderer(RenderingApi renderingApi) { _rendererImplementation = renderingApi switch { RenderingApi.OpenGl => new GlRenderer(), _ => throw new ArgumentOutOfRangeException(nameof(renderingApi), renderingApi, null) }; }
private RenderingApi SetupRenderingApi() { var serviceProvider = _server.GetRequiredService <IServiceProvider>(); var viewEngine = _server.GetRequiredService <IRazorViewEngine>(); var tempDataProvider = _server.GetRequiredService <ITempDataProvider>(); var viewRenderer = new ViewRender(viewEngine, tempDataProvider, serviceProvider); var hostingOptions = new HostingOptions(); var renderingApi = new RenderingApi(hostingOptions, viewRenderer); return(renderingApi); }
private void DrawPending() { if (PendingIndices.Count == 0) { return; } UiShader.Use(); UiShader.SetMatrix4("u_Projection", Matrix4.CreateOrthographic(Window.Size.X, Window.Size.Y, 0.0001f, 1000.0f)); var samplerData = PrepareSamplerIndices(); UiShader.SetInt("u_Textures[0]", samplerData); Vao.Bind(); Vao.UpdateIndices(PendingIndices.ToArray()); Vao.UpdateVertices(PendingVertices.ToArray()); Vao.Draw(UiShader, BeginMode.Triangles); RenderingApi.ReportDrawCall(); ClearPendingBuffers(); }
public AppData(PlatformApi platform, RenderingApi rendering) { Window = new Window(platform); Renderer = new Renderer(rendering); }