Exemple #1
0
        /// <summary>
        /// Draws a user batch
        /// </summary>
        /// <param name="batch">Batch to draw</param>
        /// <param name="mode">Drawing mode</param>
        /// <param name="first">Specifies the starting index in the enabled arrays.</param>
        /// <param name="count">Specifies the number of indices to be rendered.</param>
        public static void DrawBatch(BatchBuffer batch, PrimitiveType mode, int first, int count)
        {
            // No batch, or empty batch
            if (batch == null)
            {
                return;
            }

            // Bind buffer
            batch.Bind();

            TK.GL.DrawArrays((TK.BeginMode)mode, first, count);

            Statistics.BatchCall++;

            return;
        }
Exemple #2
0
        /// <summary>
        /// Binds and draws an IndexBuffer
        /// </summary>
        /// <param name="buffer">Buffer handle</param>
        /// <param name="mode">Drawing mode</param>
        /// <param name="index">Index buffer</param>
        public static void DrawIndexBuffer(BatchBuffer buffer, PrimitiveType mode, IndexBuffer index)
        {
            if (buffer == null || index == null)
            {
                return;
            }

            // Set the index buffer
            index.Bind();

            // Bind shader
            buffer.Bind();

            // Draw
            TK.GL.DrawElements((TK.BeginMode)mode, index.Count, TK.DrawElementsType.UnsignedInt, IntPtr.Zero);

            Statistics.BatchCall++;
        }