Trong OpenGL, kết xuất của bang zero zero là gì?


10

Gần đây tại một cuộc phỏng vấn xin việc, tôi đã đề cập rằng tôi đã tự học OpenGL hiện đại và kết xuất với các đối tượng bộ đệm đỉnh vì trường đại học của tôi chỉ dạy đường ống chức năng cố định với chế độ hiển thị ngay lập tức vào thời điểm đó. Người phỏng vấn ngắt lời tôi một cách ngắn gọn để nói rằng VBO đã được thay thế một cách hiệu quả bằng một thứ gọi là "kết xuất trạng thái không" và sau đó để tôi tiếp tục.

Sau đó tôi đã quên hỏi về điều đó có nghĩa là gì, bởi vì chúng tôi nhanh chóng chuyển sang các chủ đề khác nhau và người phỏng vấn đã hết thời gian cuối cùng do lịch trình bận rộn.

Sau đó, tôi đã tìm kiếm trực tuyến "trạng thái không có OpenGL" và "kết xuất trạng thái không" mà không có kết quả nào có vẻ phù hợp, chủ yếu chỉ là những điều về trạng thái OpenGL.

Tổ chức được đề cập dựa trên nghiên cứu rất nhiều, vì vậy có khả năng đó là một phần mở rộng với sự hỗ trợ hiện tại rất ít, hoặc thuật ngữ được sử dụng thay đổi do tính chất tiên tiến của nó?


Bạn có chắc chắn đó là "trạng thái không" hay có thể là một từ khác có từ "zero" trong đó không? Tôi đoán là anh ta đã nói về không chi phí: gdcvault.com/play/1020791
Lasse

Có một cơ hội tốt rằng nó có thể là "không nghe thấy", từ việc lướt qua video, mặc dù tôi chắc chắn 100% lời nói thực tế của anh ấy là "trạng thái không". Giả định của tôi là anh ta đang đề cập đến một tính năng mới duy nhất được sử dụng cho các cuộc gọi rút thăm, trái ngược với việc tối ưu hóa những gì đã có sẵn. Có phải "không chi phí" là cách mới, được đề xuất để vẽ mọi thứ trong OpenGL không?
usm

6
Nó có thể là "thuộc tính không"? Kết xuất thuộc tính zero (thường được gọi là "kết xuất không có thuộc tính") thay thế VBO.
Trevor Powell

5
Câu hỏi này không có chủ đề, câu hỏi thuật ngữ hoàn toàn được phép.

1
Tôi khá chắc chắn rằng những gì người phỏng vấn của bạn đang nói đến là thứ thường được gọi là Bindless Rendering. Nói tóm lại, nó loại bỏ sự cần thiết phải liên kết các đối tượng riêng lẻ với các thẻ điều khiển chung để thay đổi hoặc sử dụng chúng. Bạn sẽ nhận được kết quả tốt hơn tìm kiếm cho điều đó.
kevintodisco

Câu trả lời:


9

Người phỏng vấn của bạn đang nói, bằng chính lời nói của mình, về API không ràng buộc . nVidia đã có những bài thuyết trình gần đây về tất cả những thứ mà họ gọi là truy cập trạng thái trực tiếp ( 1 , 2 ). Điều này không thay thế VBO.


EDIT : Trên thực tế, hãy xem xét đề xuất của Trevor Powell:

Điều này có vẻ như một số người chắc chắn có thể quyết định bỏ VBO, ủng hộ kết xuất không có thuộc tính, sử dụng trình tạo bóng hình học tìm nạp dữ liệu hoặc kết cấu thống nhất, như đã đề cập trong bài viết này .

Tôi có thể thấy làm thế nào ai đó có thể quyết định chuyển động cơ của một người thành không có attirubte, nhưng tôi sẽ không từ bỏ một động thái như vậy nếu tôi ở trong đội: Lý do vì nếu bạn đọc tổng quan về đường ống một cách cẩn thận thì đó là vì thuộc tính- ít hơn, bộ đệm của bộ đệm đỉnh đỉnh trở nên không sử dụng được vì nó bị bỏ qua hoàn toàn. Do đó, thuộc tính ít loại bỏ một cơ hội tối ưu hóa tốt đẹp.

Điều này cần điểm chuẩn tất nhiên, nhưng hoàn toàn là a-prori, nghe có vẻ là một ý tưởng tồi cho một giải pháp chung, tất cả mục đích.

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.