Thiếu các tính năng từ WebGL và OpenGL ES


10

Tôi đã bắt đầu sử dụng WebGL và hài lòng với việc tận dụng trải nghiệm OpenGL (và tiện ích mở rộng OpenGL ES) dễ dàng như thế nào. Tuy nhiên, cách hiểu của tôi là như sau:

  • OpenGL ES là tập hợp con của OpenGL
  • WebGL là tập hợp con của OpenGL ES

Điều này có đúng cho cả hai trường hợp không? Nếu vậy, có tài nguyên để chi tiết các tính năng bị thiếu?

Ví dụ, một tính năng thiếu đáng chú ý là glPushMatrixglPopMatrix. Tôi không thấy những thứ đó trong WebGL, nhưng trong các tìm kiếm của tôi, tôi cũng không thể tìm thấy chúng được tham chiếu trong tài liệu OpenGL ES.

Câu trả lời:


9

Các WebGL wiki chứa một phần trong FAQ hệ thống cấp bậc của nó đối với " WebGL và OpenGL khác biệt " mà dường như tập trung vào sự khác biệt về WebGL từ "desktop" OpenGL triển khai và, than ôi, không phải là rất chi tiết (chủ yếu đó là về hành vi, không phải là API) .

Nếu điều đó không đi sâu vào chi tiết cho bạn, bạn có thể cần so sánh bản nháp WebGL mới nhất với thông số kỹ thuật OpenGL ES hoặc OpenGL theo cách thủ công.


9

Bạn đã kiểm tra bản nháp WebGL mới nhất chưa?

Theo dự thảo trong trường hợp có mâu thuẫn, thông số kỹ thuật OpenGL ES 2.0 là cơ quan cuối cùng.

Chương 6 phác thảo sự khác biệt từ OpenGL ES 2.0 đến WebGL.

http://www.khronos.org/regology/webgl/specs/latest/


Bạn đã có một câu trả lời hay, mà tôi nêu lên, nhưng chấp nhận câu trả lời khác vì nó chỉ ra các tài nguyên khác để kiểm tra. Cảm ơn bạn đã giúp đỡ.
Chris Smith


0

Một cách để xem xét nó là WebGL là OpenGL ES 2.0 và OpenGL ES 2.0 là OpenGL với tất cả các hành trình kế thừa đã bị xóa.

Kể từ khi bóng đổ đã được thêm vào tất cả các di sản chức năng cố định đường ống glPushMatrix, glLight, glVertexvv tất cả đã không có ý nghĩa để giữ xung quanh.

Vì vậy, những tính năng "thiếu" hoặc tính năng "không dùng" chính xác và đúng cách?

Những tính năng cụ thể mà bạn đang tìm kiếm?

WebGL / OpenGL ES 2.0 là các shader đỉnh và mảnh cơ bản. Có hỗ trợ hạn chế cho kết cấu không có công suất 2 và chỉ có một vài định dạng kết cấu (không thực sự giới hạn là 99% tất cả các kết cấu là RGB8 hoặc RGBA8). Hỗ trợ cho kết cấu dấu phẩy động là tùy chọn nhưng phần lớn các thiết bị hỗ trợ chúng. Hỗ trợ kết xuất đến kết cấu dấu phẩy động hiếm hơn. Rất ít nếu có bất kỳ thiết bị di động nào hỗ trợ kết xuất thành kết cấu điểm nổi.

WebGL2 (vừa xuất xưởng) và OpenGL ES 3.0 đã thêm một tấn định dạng kết cấu mới bao gồm kết cấu dựa trên số nguyên và kết cấu 3D. Nó loại bỏ các giới hạn kết cấu không phải là sức mạnh của 2. Nó đã thêm phản hồi biến đổi (khả năng cho một shader đỉnh ghi vào bộ đệm). Nó cũng thêm các truy vấn tắc. Đối tượng mảng Vertex là tiêu chuẩn (chúng là tùy chọn trong WebGL / ES 3.0). Có một loạt các tính năng nhỏ khác.

ES 3.1 (và có lẽ là phiên bản tiếp theo của WebGL) bổ sung các shader tính toán (khả năng cho một shader mảnh để thực hiện ghi truy cập ngẫu nhiên). Các shader mảnh chỉ có thể ghi vào đoạn / pixel được yêu cầu của chúng tại thời điểm này trong khi tính toán các shader và viết bất cứ nơi nào chúng muốn.

Những tính năng khác bạn muốn sử dụng?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.