Làm thế nào để bạn tạo một số ngẫu nhiên trong HLSL?
Tôi đang hỏi bởi vì tôi muốn thử theo dõi tia gpu . Bạn cần tạo các hướng ngẫu nhiên trong một pixel shader. Vì vậy, tôi muốn randFloat()
, trong đó kết quả là một số ngẫu nhiên giữa -1 và +1.
Ngoài ra, thỏa thuận với hướng dẫn tiếng ồn hlsl là gì? Các tài liệu nói rằng nó đã bị xóa khỏi HLSL 2.0 trở lên. Tại sao ?
Tôi đọc về một cách tiếp cận trong đó bạn điền vào một kết cấu với các giá trị ngẫu nhiên, sau đó có tọa độ kết cấu trong mỗi đỉnh có một chỉ mục vào kết cấu đó. Nhưng đó là trên mỗi đỉnh , tôi cần một hướng dẫn mà tôi có thể gọi trong trình đổ bóng pixel. Ngoài ra, cách tiếp cận này yêu cầu "sắp xếp lại" các texcoords trên mỗi đỉnh nếu bạn muốn các giá trị khác nhau cho mỗi khung và yêu cầu bộ đệm đỉnh cập nhật từng khung (có thể tốn kém!)
Với chi tiết, làm thế nào bạn có thể tạo ra một số ngẫu nhiên trên GPU với giá rẻ?