Tôi đã tự mã hóa trình xem OpenGL BSP cho định dạng trò chơi cũ. Nó rất giống với định dạng tệp Quake 3. Bởi vì sở thích của tôi là phát triển các công cụ đồ họa, tôi muốn được phát triển trong khi xem xét sử dụng công nghệ hiện tại. Vì vậy, tôi chuyển sang bạn, các chuyên gia về chủ đề này để định hướng những gì cần tập trung vào. Tôi muốn điều này càng nhanh càng tốt và xem xét các định dạng tệp cũ là rất đơn giản và có ít đa giác, tôi nghĩ rằng nó có thể thực hiện được. Đây là câu hỏi của tôi:
Chiếu sáng a. Liệu nó có ý nghĩa đối với tôi để học ánh sáng đỉnh hay thay vào đó tôi chỉ nên thực hiện chiếu sáng theo pixel? b. Tôi biết OpenGL có giới hạn 8 ánh sáng. Tôi thực sự chỉ nên sử dụng một trong những thứ đó cho ánh sáng xung quanh và máy tính còn lại thông qua các shader? Nếu không, tôi phải làm sao?
Sắp xếp / Culling a. Thuật toán được sử dụng phổ biến nhất nhanh nhất để sắp xếp các bề mặt để kết xuất là gì. Sự phức tạp không thực sự là một vấn đề. Tôi muốn tìm hiểu những gì hiện đang được sử dụng và những cách để thực sự chỉ hiển thị những thứ tôi có thể nhìn thấy. Tôi đã thấy một số thuật toán được mô tả như thuật toán của họa sĩ và đang tự hỏi điều gì có ý nghĩa nhất đối với hình học dựa trên BSP. b. Nếu tôi có kết cấu với mặt nạ alpha, tôi đã nói rằng sắp xếp có một số loại liên quan đến quá trình này. Làm cách nào để cho phép chúng hiển thị chính xác trong không gian 3d?
Đường ống đồ họa a. Tôi có nên gửi dữ liệu hình học của mình qua VBO không? Đây có phải là tiêu chuẩn được sử dụng ngày nay? b. Nếu tôi có một số "vùng", có thể là 200-300, tôi có nên tìm cách tốt hơn để gửi chúng tới GPU mà không gửi 200-300 khối. Tôi có nên kết hợp chúng thành một và giữ một tài liệu tham khảo liên kết với nhau.
Bất kỳ lời khuyên nào khác cho kết xuất dựa trên BSP và những thứ thuộc về bản chất đó?
Ngoài ra, nếu tôi nói điều gì đó không đúng, xin vui lòng sửa cho tôi. Tôi là người thà được sửa chữa và hơi xấu hổ hơn là không biết gì và không biết gì.
Cảm ơn bạn đã dành thời gian. Tôi thực sự đánh giá cao nó.