Chào mọi người! Mình đang học opengl cơ bản. Lúc mình học thì có gặp cái hàm này glVertexAttribPointer(), trong hàm này có một tham số là stride mà mình không hiểu nó có nghĩa là gì (mình có đọc qua tài liệu và ảnh minh hoạ mà không hiểu cho lắm). Bạn nào biết thì giải thích cho mình nhé.
Giải thích dễ hiểu nhất về stride
Coi cái ảnh như 1 ma trận dữ liệu. Ví dụ ảnh RGB thì mỗi pixel gồm 3 byte R,G,B.
Như vậy theo suy nghĩ thông thường ta tính được số byte dữ liệu trên 1 row = width * 3.
Nhưng sự thật thì không phải khi nào cũng thế mà số byte dữ liệu trên 1 row = width * 3 + x. (x là một con số thay đổi tùy trường hợp).
Thông số về số byte trên 1 row dữ liệu cần thiết trong nhiều trường hợp tính toán xử lý và người ta gọi là thông số đó là stride.
Đọc thêm đoạn đầu ở link dưới. Nhớ là đọc đoạn giải thích stride thôi chứ đừng đọc hết không lại lú thêm =))
Cảm ơn bạn! mình nghĩ mình hiểu kha khá rồi.
Cái này mới đúng nha bạn, vì đó là vertex attrib chứ ko phải pixel.
https://stackoverflow.com/questions/27210032/what-is-vertex-stride#:~:text="stride"%20in%20general%20refers%20to,the%20vertex%20in%20the%20array.