6
Trong một Shader GLSL, tôi muốn tạo một hàm trông một chút như thế này:Bạn có thể truyền một mảng có kích thước cố định làm tham số hàm GLSL không?
void MyFunction(out float results[9])
{
float value0 = 3.1546;
float value1 = 42; // whatever value
/* ... long, complicated code ... */
results[0] = value0;
results[1] = value1;
results[2] = value2;
...
}
thể như một chữ ký chức năng được sử dụng và biên soạn trong GLSL?
Nếu không, có cách nào khác không?
Bạn nói đúng. Tôi cũng tìm thấy thông tin trong thông số: http://www.opengl.org/registry/doc/GLSLangSpec.4.30.6.pdf#page=35 – wil
Tại sao có thể trả lại mảng này tốt hơn? là có một số tối ưu hóa trình biên dịch với việc sử dụng một địa phương và trở về mà thay vì sửa đổi một biến tại chỗ? –