Ejemplo n.º 1
0
 public ConstantBuffer(int size)
 {
     ThreadingHelper.BlockOnUIThread(() =>
     {
         ubo = GL.GenBuffer();
         GL.BindBuffer(BufferTarget.UniformBuffer, ubo);
         GL.BufferData(BufferTarget.UniformBuffer, new IntPtr(size), IntPtr.Zero, BufferUsageHint.DynamicDraw);
     });
 }
Ejemplo n.º 2
0
 public void Update(IntPtr data, uint size)
 {
     ThreadingHelper.BlockOnUIThread(() =>
     {
         GL.BindBuffer(BufferTarget.UniformBuffer, ubo);
         IntPtr ptr = GL.MapBuffer(BufferTarget.UniformBuffer, BufferAccess.WriteOnly);
         MemoryHelper.CopyBulk(data, ptr, size);
         //Buffer.BlockCopy(
         GL.UnmapBuffer(BufferTarget.UniformBuffer);
     });
 }