Пример #1
0
 public void SetVertices(int offset, float[] vertices, bool Dynamic)
 {
     if (lock_changes)
     {
         return;
     }
     verts.BufferData(offset, vertices, Dynamic ? OpenTK.Graphics.OpenGL4.BufferUsageHint.DynamicDraw : OpenTK.Graphics.OpenGL4.BufferUsageHint.StaticDraw);
     mesh.SetBufferObject(0, verts, 3, OpenTK.Graphics.OpenGL4.VertexAttribPointerType.Float);
 }
Пример #2
0
        public void UpdateBuffers()
        {
            if (mappingData == null | ColorData == null)
            {
                mappingData = new GPUBuffer(OpenTK.Graphics.OpenGL4.BufferTarget.TextureBuffer);
                ColorData   = new BufferTexture();
            }

            Vector4[] cols = new Vector4[Voxels.Count];
            for (int i = 0; i < cols.Length; i++)
            {
                cols[i] = Voxels[i].Color;
            }

            mappingData.BufferData(0, cols, OpenTK.Graphics.OpenGL4.BufferUsageHint.StaticDraw);
            ColorData.SetStorage(mappingData, OpenTK.Graphics.OpenGL4.SizedInternalFormat.Rgba32f);
        }