Tôi đã học OpenGL vài ngày nay bằng cách làm theo một số hướng dẫn và viết mã một số thử nghiệm của riêng tôi. Nhưng có một điều tôi thực sự không hiểu điều này ngăn cản tôi tiếp tục. Tôi đã googling trong một vài giờ và không tìm thấy câu trả lời nào cho câu hỏi của tôi.Bộ đệm riêng biệt OpenGLES 2.0 cho các đỉnh, màu sắc và tọa độ kết cấu
Tôi nên chỉ định từng giá trị màu riêng biệt và tọa độ kết cấu cho từng đỉnh riêng lẻ ở đâu? Nếu những thuộc tính đó luôn luôn được liệt kê trong cùng một mảng (struct) làm vị trí đỉnh? Giống như vậy:
const Vertex Vertices[] = {
// Front
{{1, -1, 0}, {1, 0, 0, 1}, {TEX_COORD_MAX, 0}},
{{1, 1, 0}, {0, 1, 0, 1}, {TEX_COORD_MAX, TEX_COORD_MAX}},
{{-1, 1, 0}, {0, 0, 1, 1}, {0, TEX_COORD_MAX}},
{{-1, -1, 0}, {0, 0, 0, 1}, {0, 0}},
...
Hoặc có cách nào để đặt giá trị màu và tọa độ kết cấu trong mảng riêng biệt không? Nhưng sau đó câu hỏi đặt ra: làm thế nào để tôi gọi glDrawElements
với các mảng riêng biệt?
Trong trường hợp bạn tự hỏi tại sao tôi muốn tách các giá trị này: Tôi hiện đang tạo trình phân tích cú pháp .obj của mình trong obj-c và tôi đã tự hỏi: điều gì sẽ xảy ra nếu bạn tải mô hình mà không có kết cấu và chỉ muốn hiển thị một màu sắc trên đối tượng? Hoặc: nếu bạn muốn tải một mô hình chỉ với một kết cấu được ánh xạ tới nó nhưng không có màu riêng biệt trên mỗi đỉnh? Và: Không đặt các giá trị màu và phối cảnh kết cấu làm cho Vertex có cấu trúc với quá nhiều dữ liệu.
Tinh thể rõ ràng! ;) – polyclick