public void BindVBOs(OpenGL gl, LinesProgram program) { var attribPos = program.Attribs["Position"]; gl.BindBuffer(_vboTarget, Position); gl.VertexAttribPointer(attribPos, 3, OpenGL.GL_FLOAT, false, 0, IntPtr.Zero); gl.EnableVertexAttribArray(attribPos); attribPos = program.Attribs["ColorValue"]; gl.BindBuffer(_vboTarget, ColorValue); gl.VertexAttribPointer(attribPos, 3, OpenGL.GL_FLOAT, false, 0, IntPtr.Zero); gl.VertexAttribDivisor(attribPos, 1); gl.EnableVertexAttribArray(attribPos); if (IndicesCount > 0) gl.BindBuffer(_iboTarget, Ibo); }
public void BindNMVBOs(OpenGL gl, NormalMaterialProgram program) { var attribPos = program.Attribs["Position"]; gl.BindBuffer(_vboTarget, Position); gl.VertexAttribPointer(attribPos, 3, OpenGL.GL_FLOAT, false, 0, IntPtr.Zero); gl.EnableVertexAttribArray(attribPos); attribPos = program.Attribs["Normal"]; gl.BindBuffer(_vboTarget, Normal); gl.VertexAttribPointer(attribPos, 3, OpenGL.GL_FLOAT, false, 0, IntPtr.Zero); gl.EnableVertexAttribArray(attribPos); attribPos = program.Attribs["AmbientMaterial"]; gl.BindBuffer(_vboTarget, AmbientMaterial); gl.VertexAttribPointer(attribPos, 3, OpenGL.GL_FLOAT, false, 0, IntPtr.Zero); gl.VertexAttribDivisor(attribPos, 1); gl.EnableVertexAttribArray(attribPos); attribPos = program.Attribs["DiffuseMaterial"]; gl.BindBuffer(_vboTarget, DiffuseMaterial); gl.VertexAttribPointer(attribPos, 3, OpenGL.GL_FLOAT, false, 0, IntPtr.Zero); gl.VertexAttribDivisor(attribPos, 1); gl.EnableVertexAttribArray(attribPos); attribPos = program.Attribs["SpecularMaterial"]; gl.BindBuffer(_vboTarget, SpecularMaterial); gl.VertexAttribPointer(attribPos, 3, OpenGL.GL_FLOAT, false, 0, IntPtr.Zero); gl.VertexAttribDivisor(attribPos, 1); gl.EnableVertexAttribArray(attribPos); attribPos = program.Attribs["ShininessValue"]; gl.BindBuffer(_vboTarget, ShininessValue); gl.VertexAttribPointer(attribPos, 1, OpenGL.GL_FLOAT, false, 0, IntPtr.Zero); gl.VertexAttribDivisor(attribPos, 1); gl.EnableVertexAttribArray(attribPos); gl.BindBuffer(_iboTarget, Ibo); }
public void BindHTVBOs(OpenGL gl, HitTestProgram program) { var attribPos = program.Attribs["Position"]; gl.BindBuffer(_vboTarget, Position); gl.VertexAttribPointer(attribPos, 3, OpenGL.GL_FLOAT, false, 0, IntPtr.Zero); gl.EnableVertexAttribArray(attribPos); attribPos = program.Attribs["HTColorId"]; gl.BindBuffer(_vboTarget, HTColorId); gl.VertexAttribPointer(attribPos, 3, OpenGL.GL_FLOAT, false, 0, IntPtr.Zero); gl.VertexAttribDivisor(attribPos, 1); gl.EnableVertexAttribArray(attribPos); gl.BindBuffer(_iboTarget, Ibo); }
public void Invoke(OpenGL gl) { //CurrentVariant.Invoke(gl); gl.VertexAttribPointer(Index, Size, (uint)Type, Normalized, Stride, OffsetPointer); if (DivisorValue > 0) { gl.VertexAttribDivisor(Index, DivisorValue); } }