glDrawElements()
không hỗ trợ "bảng chỉ số trống". glDrawElements()
phải luôn được cung cấp dữ liệu rõ ràng về thứ tự các chỉ số đỉnh sẽ được vẽ, bằng cách sử dụng một con trỏ tới bộ nhớ đệm (chỉ OpenGL <= 2.1) hoặc bù vào VBO bị ràng buộc.
glDrawArrays()
hành động như thế glDrawElements()
nếu nó đã được cung cấp một mảng các giá trị [0, 1, 2, ..., n], trong đó 'n' là count
giá trị được truyền vào một trong hai hàm.
Về lý thuyết, glDrawArrays()
yêu cầu ít dữ liệu hơn glDrawElements()
(theo thứ tự các chỉ số là ẩn, thay vì yêu cầu một khối dữ liệu được chuyển đến GPU), và do đó, nó sẽ nhanh hơn một chút nếu dữ liệu của bạn ở định dạng đó. Nhưng trong thực tế, sự khác biệt dường như không đáng để lo lắng.