Cả hai API đồ họa (OpenGL và DirectX) đều tạo ra một đường ống được xác định rõ trong đó một số giai đoạn có thể lập trình được. Các giai đoạn lập trình này yêu cầu lấy một lượng dữ liệu tối thiểu cố định và được cho là thực hiện một phạm vi hoạt động được xác định rõ trên nó và xuất ra một số đầu ra tối thiểu được xác định, để dữ liệu có thể được chuyển sang giai đoạn tiếp theo một cách chính xác. Có vẻ như các đường ống này được thiết kế để chỉ hoạt động với một số lượng dữ liệu hình học hạn chế, trong trường hợp cả D3D và OGL là dữ liệu đỉnh và tọa độ kết cấu.
Nhưng, nếu được đưa ra một trường hợp khi ứng dụng mà tôi dự định thực hiện không sử dụng các đỉnh (hoặc thậm chí là voxels) để biểu diễn dữ liệu hình học của nó và không thực hiện chính xác các phép biến đổi hoặc dự đoán hoặc rasterisation hoặc nội suy hoặc bất cứ điều gì tương tự, các hạn chế đó của API hoặc đường ống làm cho mọi thứ khó khăn.
Vì vậy, có cách nào để chúng ta có thể thay đổi đường ống đồ họa theo cách sao cho chức năng của từng giai đoạn đối với dữ liệu và loại dữ liệu được xuất trong mỗi giai đoạn được thay đổi thành lợi thế của tôi không? Nếu không, thì có cách nào để tôi có thể sử dụng các hàm API 'thô' để xây dựng đường ống dẫn của riêng mình không? Nếu không, sau đó xin vui lòng đề cập tại sao nó không thể.
EDIT : Ứng dụng của tôi sử dụng các hàm mật độ để biểu diễn hình học. Hàm có một giá trị tại mỗi điểm trong không gian. Tôi chia sự thất vọng của máy ảnh thành một lưới 3d, mỗi khối có thể được chiếu dưới dạng pixel. Trên mỗi khối, tôi tích hợp hàm mật độ và kiểm tra xem giá trị của nó có lớn hơn giá trị bắt buộc không. Nếu có, thì người ta cho rằng một cái gì đó tồn tại trong khối đó và pixel đó tương ứng với khối đó được hiển thị. vì vậy, bây giờ trong trình kết xuất của tôi, tôi muốn truyền hàm (mà tôi biểu thị bằng một chuỗi) cho phần cứng đồ họa thay vì dữ liệu đỉnh trong bộ đệm đỉnh. điều này cũng ngụ ý rằng trình tạo bóng đỉnh sẽ không có các đỉnh để chuyển đổi thành không gian clip homogeniouse và trình tạo bóng mảnh không nhận được thông tin pixel. thay vào đó, bây giờ hầu hết các tìm kiếm và đánh giá xảy ra trên mỗi pixel.