Hiểu cách texCUBE hoạt động và viết các hình khối đúng cách vào một mục tiêu kết xuất khối


7

Mục tiêu của tôi là tạo ra các phản xạ chính xác, được lấy mẫu từ một sơ đồ khối động, cho các đối tượng 3d cụ thể (chủ yếu là ánh sáng) trong XNA 4.0.

Để lấy mẫu sơ đồ khối, tôi tính toán vectơ phản xạ 3d theo cách cổ điển:

    half3 ReflectionVec = reflect(-directionToCamera, Normal.rgb);

Sau đó tôi sử dụng vectơ để có được màu phản ánh thực tế:

    half3 ReflectionCol = texCUBElod(ReflectionSampler, float4(ReflectionVec, 0));

Sơ đồ khối mà tôi đang lấy mẫu là RenderTarget với 6 mặt phẳng.

Vì vậy, câu hỏi của tôi là, với vị trí thế giới 3d của một đối tượng 3d tùy ý, làm thế nào tôi có thể chắc chắn rằng tôi có được phản xạ chính xác của đối tượng này, khi tôi kết xuất lại sơ đồ khối. Tôi có nên xây dựng ma trận ViewProjection theo cách cụ thể không? Hoặc có cách tiếp cận nào khác không?

Câu trả lời:


0

Ánh sáng tới được phản xạ thường sẽ đúng với vật thể ban đầu, trừ khi chính nó bị phản xạ, bị bẻ cong hoặc ánh sáng bị thay đổi. Độ chính xác của sự phản chiếu liên quan đến các tính chất của vật liệu phản chiếu và hình học.

Liên kết này cung cấp đọc nhiều hơn cho chủ đề tuyệt vời này. http://en.wikipedia.org/wiki/Fresnel_equation .

Lý tưởng nhất là bản đồ khối của bạn sẽ được tạo từ cùng một phép chiếu mà bạn muốn xem hình học bình thường. Mặc dù điều này có thể là một cái gì đó thú vị để chơi xung quanh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.