/// <summary> /// Calls this on each OnGUI-cycle to draw all gui elements and handle inputs and clicks. /// </summary> public void Render(IRenderer renderer) { // draw needs to be called on every events, because unity handles inputs with multiple different events renderer.Begin(); Draw(renderer); renderer.Finish(); }
void Update() { System.Diagnostics.Debug.WriteLine("Draw.."); renderer.Begin(); renderer.Clear(); // render normal triangle renderer.UseShader(shaderProgram); renderer.UseVertexBuffer(vb1); renderer.DrawVertexBuffer(PrimitiveType.Triangles, 0, 3); // render textured triangle renderer.UseShader(shaderProgramTextured); renderer.UseVertexBuffer(vb2.VertexBuffer); //renderer.UseTexture(brickTexture); // Either use only one texture renderer.UseTextures(new ITexture2D[] { brickTexture, mossTexture }); // or multiple textures shaderProgramTextured.SetUniform(sampler1, 0); // the order of the textures is determined by setting the uniform to the right index of the texture shaderProgramTextured.SetUniform(sampler2, 1); renderer.DrawVertexBufferIndexed(PrimitiveType.Triangles, 6); // animate color uniformValue = uniformValue + 0.01f; uniformValue = uniformValue > 1.0f ? 1.0f : uniformValue; shaderProgramColored.SetUniform(multiplicator, uniformValue); // render colored triangle renderer.UseShader(shaderProgramColored); renderer.UseVertexBuffer(vb3.VertexBuffer); renderer.DrawVertexBufferIndexed(PrimitiveType.Triangles, 3); renderer.SwapBuffers(); // end probably useless.. don't know if possible failures are due to wpf //renderer.End(); }
public void Draw() { if (Points.Count != 3) { return; } IRenderer renderer = SceneManager.Current.Renderer; renderer.Disable("CullFace"); renderer.Disable("Texture2D"); renderer.Disable("Lighting"); renderer.Disable("Light0"); renderer.PolygonMode("FrontAndBack", "Line"); renderer.Begin(PrimitiveType.Triangles); renderer.Color4(0f, 1.0f, 0f, 1.0f); renderer.Vertex3(Points[0]); renderer.Vertex3(Points[1]); renderer.Vertex3(Points[2]); renderer.End(); renderer.Enable("CullFace"); renderer.Enable("Texture2D"); renderer.Enable("Lighting"); renderer.Enable("Light0"); renderer.FrontFace(SceneManager.Current.FrontFace); }
public void Render() { _renderer.Begin(_camera); _texture.Bind(); _renderer.Submit(_shader, _vertexArray); _renderer.End(); }
private void RenderEntities() { _renderer.ProjectionTransform = ProjectionTransform; _renderer.ViewTransform = ViewTransform; var sw = Stopwatch.StartNew(); _renderer.Begin(); //_renderables.Sort((a, b) => b.Depth.CompareTo(a.Depth)); // todo optimize for infrequent Depth changing, IsDepthDirty -> move item foreach (var skeleton in _renderables.OrderByDescending(r => r.Depth)) { skeleton.Draw(_renderer); } _renderer.End(); DrawTime = sw.Elapsed.TotalMilliseconds; }
public void Draw() { IRenderer renderer = SceneManager.Current.Renderer; renderer.Disable("CullFace"); renderer.Disable("Texture2D"); renderer.Disable("Lighting"); renderer.Disable("Light0"); renderer.PolygonMode("FrontAndBack", "Line"); renderer.Begin(PrimitiveType.Quads); renderer.Color4(0f, 1.0f, 0f, 1.0f); renderer.Vertex3(-1.0f, 0, -1.0f); renderer.Vertex3(0, 0, -1.0f); renderer.Vertex3(0, 0, 0); renderer.Vertex3(-1.0f, 0, 0); renderer.Vertex3(0, 0, -1.0f); renderer.Vertex3(1.0f, 0, -1.0f); renderer.Vertex3(1.0f, 0, 0); renderer.Vertex3(0, 0, 0); renderer.Vertex3(-1.0f, 0, 0); renderer.Vertex3(0, 0, 0); renderer.Vertex3(0, 0, 1.0f); renderer.Vertex3(-1.0f, 0, 1.0f); renderer.Vertex3(0, 0, 0); renderer.Vertex3(1.0f, 0, 0); renderer.Vertex3(1.0f, 0, 1.0f); renderer.Vertex3(0, 0, 1.0f); renderer.End(); renderer.Enable("CullFace"); renderer.Enable("Texture2D"); renderer.Enable("Lighting"); renderer.Enable("Light0"); renderer.FrontFace(SceneManager.Current.FrontFace); }
public void Render() { renderer.Begin(); DoRender(renderer); renderer.End(); }
/// <summary> /// Begins the draw operation. /// </summary> public void Begin() { Renderer.Begin(); }