Tôi đang cố gắng thực hiện hiệu ứng khúc xạ Parallax được giải thích bởi Jorge Jimenez trong bài trình bày này: http://www.iryoku.com/doads/Next-Generation-Character-Rendering-v6.pptx và tôi đang gặp một số khó khăn. Dưới đây là một ảnh chụp màn hình của phần thú vị.
Nhưng tài liệu này thiếu một chút giải thích, đặc biệt là phần thứ hai với khúc xạ vật lý .
Đây là những gì tôi đã đạt được cho đến thời điểm này.
Đây là hiệu ứng khúc xạ Parallax đơn giản và, như bạn có thể nhận thấy trong ảnh chụp màn hình, có một trục trặc nhỏ ở góc gặm cỏ trong mống mắt khi giá trị Parallax Scale quá cao.
Điều này được gây ra bởi tính toán thị sai nhưng có một số thủ thuật để tránh hoặc giảm thiểu vấn đề như vậy?
Hiện tại tôi không muốn đi sâu hơn với ánh xạ thị sai, vì vậy tôi không muốn sử dụng Ánh xạ Parallax hoặc Ánh xạ phân loại Parallax.
Đây là mã. Không có gì thực sự đặc biệt.
// height value comes from a texture
float2 offset = height * viewDir;
offset.y = -offset.y;
texcoord -= ParallaxScale * offset;
// Next there is the texture sampling with the texcoord value
Tôi cũng có một câu hỏi khác về phần khúc xạ dựa trên vật lý không thực sự được giải thích rõ ràng và tôi thiếu cách tính một số giá trị như refractedW
, frontNormalW
hoặc heightW
. Nếu bất cứ ai có thể cung cấp một số giải thích về những giá trị đó.
Cảm ơn rất nhiều.