Example #1
0
 protected GeometryBase(Color32 fillColor, bool isFixedSize = false, int vertexCount = 0, bool showOrigin = false)
 {
     m_fillColor  = fillColor;
     m_showOrigin = showOrigin;
     m_fillBuffer = isFixedSize
         ? new VertexBufferObject <Vertex>(vertexCount, BufferTarget.ArrayBuffer, BufferUsageHint.StaticDraw)
         : new VertexBufferObject <Vertex>(0, BufferTarget.ArrayBuffer, BufferUsageHint.StreamDraw);
     m_indexBuffer = new VertexBufferObject <uint>(0, BufferTarget.ElementArrayBuffer, BufferUsageHint.StaticDraw);
     m_fillVao     = new VertexArrayObject <Vertex>();
     m_fillVao.AttachVertexBuffer(m_fillBuffer, m_indexBuffer);
     //if (showOrigin)
     //{
     //    originRect = new RectangleGeometry(20f, 20f, Color.Lime, false);
     //    originRect.Origin = new Vector3(originRect.Width / 2f, originRect.Height / 2f, 0f);
     //}
 }
 public void AttachVertexBuffer(VertexBufferObject <TVertex> buffer, VertexBufferObject <uint> indices = null)
 {
     if (0 == handle)
     {
         throw new NotInitializedException();
     }
     vertexBuffer?.Dispose();
     vertexBuffer = buffer;
     indexBuffer?.Dispose();
     indexBuffer = indices;
     Bind();
     vertexBuffer.Bind();
     indexBuffer?.Bind();
     SetupAttributes();
     Unbind();
     vertexBuffer.Unbind();
     indexBuffer?.Unbind();
 }