/// <summary> /// Applies the geometry stream to the graphics device. /// </summary> public void Apply() { Contract.EnsureNotDisposed(this, Disposed); if (IsUsingVertexArrayObject) { OpenGLState.BindVertexArrayObject(vao, glElementArrayBufferBinding ?? 0); } else { if (ibuffer != null) { OpenGLState.BindElementArrayBuffer(ibuffer.OpenGLName); } } }
/// <inheritdoc/> public void SetGeometryStream(GeometryStream stream) { Contract.EnsureNotDisposed(this, Disposed); Ultraviolet.ValidateResource(stream); if (stream == null) { this.geometryStream = null; OpenGLState.BindVertexArrayObject(0, 0); } else { if (this.geometryStream != stream) { this.geometryStream = (OpenGLGeometryStream)stream; this.geometryStream.Apply(); } } }