Tôi có thể nhận được một shader để đọc trong hai kết cấu nhưng đối với sản lượng có vẻ như chỉ có gl_FragColor. Có cách nào để hiển thị hai họa tiết khác nhau từ một trình đổ bóng không? Tôi đang sử dụng chế biến và thư viện GLGraphics btw.GLSL có thể xuất ra hai/nhiều họa tiết cùng lúc không?
Trả lời
Có, bạn có thể ghi vào gl_FragData, là một mảng đầu ra (kích thước phụ thuộc vào việc triển khai của bạn). Hoặc với các phiên bản mới hơn của GL, cả gl_FragColor và gl_FragData đều không được chấp nhận và bạn khai báo các biến số out
của riêng bạn cho trình đổ bóng phân đoạn để ghi vào. Khai báo nhiều out
vars cho nhiều bộ đệm đầu ra.
Tôi không biết nếu điều này là chính xác những gì bạn đang cố gắng làm, nhưng với Frame Buffer Objects (FBOs) bạn có thể vẽ nhiều bộ đệm màu cùng một lúc.
Trong trình đổ bóng, mặc dù, nó vẫn sẽ giống như thể bạn đang viết một đoạn. Nghĩa là, trình đổ bóng không biết có bao nhiêu tệp đính kèm mà FBO có.
Có. Chúng ta có thể. NHƯNG Lưu ý rằng gl_FragData không còn được hỗ trợ trong GLSL 4.0 nữa. Xác định vị trí như:
glBindFragDataLocation(programHandle, 0, "FragColor");
.....
Tôi hy vọng bạn có thể đọc cuốn sách của GLSL 4,0 che sách dạy nấu ăn ngôn ngữ.
Tôi nghĩ rằng các vị trí rõ ràng được ưu tiên hơn 'glBindFragDataLocation' – RecursiveExceptionException
- 1. Pha trộn nhiều họa tiết trong GLSL
- 2. Sử dụng cả hai phong bì và họa tiết trong glsl
- 3. Quả cầu có họa tiết không bị biến dạng mạnh
- 4. iOS: Có thể gửi âm thanh ra cả tai nghe và loa cùng một lúc không?
- 5. Có thể chạy nhiều AsyncTask cùng một lúc không?
- 6. Tiết kiệm nhiều gói Monticello cùng một lúc
- 7. Android 4.0 asynctask cùng lúc không thể
- 8. Tôi có thể soạn luồng đầu ra như thế nào, vì vậy đầu ra có thể xuất hiện nhiều địa điểm cùng một lúc?
- 9. Điều khiển không được rút ra cùng một lúc
- 10. Nhiều chủ đề gọi cùng một đối tượng cùng một lúc. Nó có thể gây ra vấn đề không?
- 11. R - Các họa tiết không được tạo bằng Sweave?
- 12. nhiều chủ đề có thể nhận đàn cùng lúc
- 13. JME3 - Ghép nhiều hơn ba họa tiết
- 14. Trong HTML5, tôi có thể phát cùng một âm thanh nhiều lần cùng một lúc không?
- 15. Có thể xem nhiều nhánh git cùng một lúc cho cùng một dự án không?
- 16. Yếu tố có thể có bóng đổ bóng và chèn bóng cùng một lúc không?
- 17. plot3D - có hai ô cùng một lúc
- 18. Các họa tiết OpenGL phải được lật?
- 19. Bạn có thể ghi vào luồng đầu vào và đầu ra của ổ cắm cùng một lúc không?
- 20. Tạo họa tiết hình cầu nguyên thủy
- 21. Nhiều họa tiết trong suốt trên cùng một khuôn mặt lưới trong Three.js
- 22. có giới hạn số lượng chuỗi có thể chạy cùng một lúc không?
- 23. Xuất đồ họa trong Mathematica bằng Texture
- 24. Có thể truy xuất CPU đã tạo ra WDFREQUEST không?
- 25. Có thể hai hoặc nhiều người chỉnh sửa tài liệu Excel cùng lúc không?
- 26. Máy khách HTTP liên tục có thể gửi nhiều yêu cầu cùng một lúc không?
- 27. Họa tiết gói phụ thuộc vào tikz/pgf
- 28. Cách tải họa tiết trong OpenGL ES hiệu quả
- 29. có thể sử dụng Hibernate và Tomcat Connection pool cùng một lúc không?
- 30. R CMD INSTALL --build gói -> "họa tiết mất tích"
Cảm ơn. Tôi muốn xem một ví dụ mã về cách thức này sẽ được thực hiện trong GLSL và có thể một số mã giả cho ứng dụng máy chủ nếu đó là thuật ngữ đúng. – Moss
Thực ra, tôi đã tự tìm ra. Tôi chỉ cần nói "thay đổi ra vec4 Color1, Color2" vv ở đầu và dường như tự động liên kết chính nó với mảng kết cấu tôi đã đi qua. Và sau đó thiết lập các biến cho một cái gì đó ở đâu đó trong void main(). – Moss
Điều này có được hỗ trợ trong OpenglES 2.0 không? –