Esempio n. 1
0
 public void Activate(int slot)
 {
     if (BufferType == BufferTypeEnum.Vertex)
     {
         device.BindBuffer(BufferTarget.ArrayBuffer, BufferHandle);
     }
     else if (BufferType == BufferTypeEnum.Index)
     {
         device.BindBuffer(BufferTarget.ElementArrayBuffer, BufferHandle);
     }
     else if (BufferType == BufferTypeEnum.ConstPixel)
     {
         device.BindBufferBase(BufferRangeTarget.UniformBuffer, slot, BufferHandle);
     }
     else if (BufferType == BufferTypeEnum.ConstVertex)
     {
         device.BindBufferBase(BufferRangeTarget.UniformBuffer, slot, BufferHandle);
     }
     else if (IsStructuredBuffer)
     {
         if (IsUsingBufferTexture)
         {
             device.ActiveTextureUnit(slot);
             device.BindTexture(TextureTarget.TextureBuffer, TextureBufferHandle);
         }
         else
         {
             device.BindBufferBase(BufferRangeTarget.ShaderStorageBuffer, slot, BufferHandle);
         }
     }
     else
     {
         throw new Exception("Unsupported buffer type");
     }
 }
Esempio n. 2
0
 public void Activate(int slot)
 {
     device.ActiveTextureUnit(slot);
     BindTexture();
 }