//  Vertex Buffer
 internal BufferRangeRL(BufferRL buffer)
 {
     this.buffer = buffer;
     unchecked
     {
         this.beginMode = (BeginMode)(uint.MaxValue); // vertex buffers do not have a valid begin mode value
     }
     buffer.Add(this);
 }
Example #2
0
        public BufferRL GetUniformBufferRL(BufferUsageHint usage)
        {
            //  Current OpenRL API rlUniformBlockBuffer() needs
            //  exactly one buffer object per uniform block
            //  so we can not share the same buffer to multiple
            //  uniform blocks.
            var buffer = new BufferRL(Caustic.OpenRL.BufferTarget.UniformBlockBuffer, (Caustic.OpenRL.BufferUsageHint)usage);

            return(buffer);
        }
        //  Uniform Buffer
        internal BufferRangeRL(BufferRL buffer, IUniformBlock uniformBlock)
        {
            this.uniformBlock = uniformBlock;
            this.buffer       = buffer;
            unchecked
            {
                this.beginMode = (BeginMode)(uint.MaxValue); // uniform buffers do not have a valid begin mode value
            }
            buffer.Add(this);

            //  Pre-initialize uniform buffer as we do not use BeginEdit() / EndEdit()
            size = uniformBlock.Size;
            data = new byte[size];
        }
 //  Index buffer, with valid begin mode
 internal BufferRangeRL(BufferRL buffer, BeginMode beginMode)
 {
     this.buffer    = buffer;
     this.beginMode = beginMode;
     buffer.Add(this);
 }
Example #5
0
 internal BufferGLRL(DrawElementsType indexType, BufferUsageHint usageHint)
 {
     bufferGL = new BufferGL(indexType, usageHint);
     bufferRL = new BufferRL((Caustic.OpenRL.DrawElementsType)indexType, (Caustic.OpenRL.BufferUsageHint)usageHint);
 }
Example #6
0
 internal BufferGLRL(VertexFormat vertexFormat, BufferUsageHint usageHint)
 {
     bufferGL = new BufferGL(vertexFormat, usageHint);
     bufferRL = new BufferRL(vertexFormat, (Caustic.OpenRL.BufferUsageHint)usageHint);
 }
Example #7
0
 internal BufferGLRL(BufferTarget target, BufferUsageHint usageHint)
 {
     bufferGL = new BufferGL(target, usageHint);
     bufferRL = new BufferRL((Caustic.OpenRL.BufferTarget)target, (Caustic.OpenRL.BufferUsageHint)usageHint);
 }