/// <summary> /// The start methods for the renderer /// </summary> internal override void Start() { vao.Bind(); vbo.Bind(); vbo.InitBuffer(); ibo.Bind(); ibo.SetBufferData(); ibo.Unbind(); vbo.Unbind(); vao.Unbind(); }
public void UpdateVertexData() { List <float> list = new List <float>(); for (int i = 0; i < Faces.Count; i++) { for (int v = 0; v < Faces[i].Vertices.Length; v++) { var vertex = Faces[i].Vertices[v]; list.Add(vertex.Position.X); list.Add(vertex.Position.Y); list.Add(vertex.Position.Z); list.Add(vertex.Normal.X); list.Add(vertex.Normal.Y); list.Add(vertex.Normal.Z); list.Add(vertex.TexCoord.X); list.Add(vertex.TexCoord.Y); } } Vao.Bind(); float[] data = list.ToArray(); GL.BufferData(BufferTarget.ArrayBuffer, sizeof(float) * data.Length, data, BufferUsageHint.StaticDraw); int[] indices = Indices.ToArray(); GL.BufferData(BufferTarget.ElementArrayBuffer, sizeof(int) * indices.Length, indices, BufferUsageHint.StaticDraw); }
public virtual void draw(Matrix4 view) { if (picked) { //this.Scale = .75f; } GL.BindTexture(TextureTarget.Texture2D, this.Texture.Id); Shader.Use(); Shader.setUniform("model", this.transform); Shader.setUniform("view", view); Shader.setUniform("picked", picked); Shader.setUniform("l", l); Shader.setUniform("f", f); Shader.setUniform("r", r); Shader.setUniform("ba", ba); Shader.setUniform("t", t); Shader.setUniform("bo", bo); Vao.Bind(); GL.DrawArrays(PrimitiveType.Triangles, 0, Vao.Lenth); Vao.Unbind(); if (picked) { picked = false; //this.Scale = 1.0f; } }
public void Bind() { if (BufferInitialized) { Vao.Bind(); } }
public void DrawArrays(PrimitiveType drawMode, int first, int count) { if (!BufferInitialized) { CreateBuffers(); } Vao.Bind(); Vao.DrawArrays(drawMode, first, count); }
public void DrawElements(PrimitiveType drawMode, int count) { if (!BufferInitialized) { CreateBuffers(); } Vao.Bind(); Vao.DrawElements(drawMode, count); }
public void DrawElements(PrimitiveType drawMode = PrimitiveType.Triangles) { if (!BufferInitialized) { CreateBuffers(); } Vao.Bind(); Vao.DrawElements(drawMode, IndexBuffer.ElementCount); }
public void DrawElementsBaseVertex(PrimitiveType mode, int baseVertex, int count, int offset = 0) { if (!BufferInitialized) { CreateBuffers(); } Vao.Bind(); Vao.DrawElementsBaseVertex(mode, baseVertex, count, DrawElementsType.UnsignedInt, offset); }
public void drawToPickBuffer(ShaderProgram shader, Matrix4 view) { shader.Use(); shader.setUniform("model", this.transform); shader.setUniform("view", view); shader.setUniform("pickColor", this.pickColor); Vao.Bind(); GL.DrawArrays(PrimitiveType.Triangles, 0, Vao.Lenth); Vao.Unbind(); }
public unsafe override void Render() { Vao.Bind(); for (int i = 0; i < textures.Count; i++) { textures[i].Bind((TextureUnit)i); } shader.Use(); if (indices != null) { gl.DrawElements(PrimitiveType.Triangles, (uint)indices.Length, GLEnum.UnsignedInt, null); } else { gl.DrawArrays(PrimitiveType.Triangles, 0, (uint)verts.Length); } }
public void DrawArrays(PrimitiveType drawMode, int first, int count) { Vao.Bind(); Vao.DrawArrays(drawMode, first, count); }
public void DrawElements(PrimitiveType drawMode, int count) { Vao.Bind(); Vao.DrawElements(drawMode, count); }
public void DrawElements(PrimitiveType drawMode = PrimitiveType.Triangles) { Vao.Bind(); Vao.DrawElements(drawMode, IndexBuffer.ElementCount); }
public void DrawElementsBaseVertex(PrimitiveType mode, int baseVertex, int count, int offset = 0) { Vao.Bind(); Vao.DrawElementsBaseVertex(mode, baseVertex, count, DrawElementsType.UnsignedInt, offset); }