2011-01-13 33 views
10

là có thể tạo trình đổ bóng GLSL để đưa bất kỳ đối tượng nào được bao quanh bởi hiệu ứng phát sáng không? Giả sử tôi có khối lập phương 3d và nếu được chọn, khối lập phương sẽ được bao quanh bởi hiệu ứng phát sáng màu xanh lam. Bất kỳ gợi ý nào?Đối tượng GLSL phát sáng

Trả lời

12

Có một số cách để thực hiện việc này. Nếu mỗi đối tượng cũng được thể hiện ở định dạng winged edge thì nó là tầm thường để tính toán hình bóng và sau đó extrude nó để tạo ra một ánh sáng. Tuy nhiên, đây là một phương pháp CPU.

Đối với phương pháp GPU, bạn có thể thử hiển thị với bộ đệm ngoài màn hình bằng bộ stencil để tăng. Nếu bạn sau đó thực hiện một blur trên hình ảnh (mặc dù chỉ bằng văn bản cho các điểm ảnh mà stencil là không số không), bạn sẽ nhận được một mờ xung quanh các cạnh của hình ảnh mà sau đó có thể được rút ra vào cảnh chính với pha trộn alpha. Đây là một mờ hơn một ánh sáng nhưng nó sẽ là tương đối dễ dàng để tái jig độ sáng để nó làm cho một ánh sáng.

Có rất nhiều phương pháp khác nữa ... đây là một vài liên kết để bạn có thể xem xét thông qua:

http://http.developer.nvidia.com/GPUGems/gpugems_ch21.html
http://www.codeproject.com/KB/directx/stencilbufferglowspart1.aspx?display=Mobile

Có một vòng săn trên google vì có rất nhiều thông tin :)

Các vấn đề liên quan