Ngắn:GLSL có thể sử dụng lại/chia sẻ chức năng, chia sẻ hằng số (OpenGL ES 2.0)?
Tôi có thể xác định chức năng mà mọi trình đổ bóng có thể sử dụng không? Hoặc tôi phải xác định nó cho mỗi bóng đổ?
Toàn bộ câu chuyện:
Tôi muốn tạo ra nhiều bóng đổ có ý định để tô màu cho những mảnh đầu vào với dốc dốc được xác định trước (một cái gì đó như thế này - http://www.thinkboxsoftware.com/storage/krakatoa-support-images/krakatoa15_kcm_densitybyage_gradientrampmap.png).
Tôi muốn xác định một gradient ramp liên tục cho mỗi shader (một loạt các mẫu màu vec4, trong đó giá trị alpha giữ chức gradient, thấy Pos trong hình trên)
Và tôi cần một hàm có thể trả về mẫu màu từ đoạn đường dốc cho sẵn cho một vị trí tọa độ kết cấu cụ thể.
Vì vậy, các đường dốc cần phải định nghĩa một lần mỗi shader, và chức năng nên định nghĩa tất cả cùng một lúc rằng mỗi Shader có thể sử dụng một cách an toàn.
Tôi có các thuật toán, câu hỏi dành cho chức năng chia sẻ và xác định các hằng số trong GLSL.
Điều này có khả thi không? Hoặc tôi phải sao chép chức năng vào mọi trình đổ bóng? Có một số tùy chọn biên dịch trước ít nhất?
Whoa, nghe hay quá, tôi sẽ thử. – Geri