2011-09-30 29 views
7

WebGL được biết là có poor support for NPOT (non-power-of-two) textures. Nhưng những gì về kết cấu hình chữ nhật, nơi cả hai chiều rộng và chiều cao là quyền hạn của hai? Cụ thể, tôi đang cố vẽ một bộ đệm khung hình chữ nhật như là một phần của lược đồ kết xuất để tạo ra một số phần tử giao diện người dùng. Bộ đệm khung phải là 512x64 hoặc vùng lân cận.Cấu trúc WebGL và hình chữ nhật (sức mạnh của hai)

Hiệu quả của bản vẽ sẽ kém hơn bao nhiêu? Nếu tốc độ khung hình là một mối quan tâm, tôi có nên làm tốt hơn để phân bổ bộ đệm có dung lượng 512x512 và chỉ hiển thị lên 64 pixel hàng đầu, hy sinh bộ nhớ cho tốc độ không?

Trả lời

8

Không bao giờ có ràng buộc cho chiều rộng đó phải bằng chiều cao.

+0

Để phát triển thêm một chút về câu trả lời này: một số tiện ích mở rộng kết cấu nén * yêu cầu * các kết cấu có chiều rộng và chiều cao bằng nhau (WebGL vẫn không hỗ trợ), nhưng đó không phải là hạn chế cũng như hiệu suất đạt tiêu chuẩn OpenGL/Hành vi WebGL. – Chiguireitor

2

Cụ thể hơn: kết cấu 2D không nhất thiết phải là hình vuông; một kết cấu 512x64 không chỉ được phép mà còn nên được thực hiện hiệu quả bởi người lái xe; trên các bản đồ khối lập phương khác cần phải là hình vuông.

Đối với kết cấu 2D, bạn có thể sử dụng kết cấu NPOT nếu cả hai chế độ quấn là CLAMP_TO_EDGE và bộ lọc thu nhỏ của bạn không yêu cầu một mipmap. Hiệu quả của kết cấu NPOT có thể khác nhau tùy thuộc vào trình điều khiển của bạn.

Các vấn đề liên quan