Bagaimana keadaan seni dalam hal rendering bayangan? Target saya adalah OpenGL 3.2, menggunakan pipa render yang ditangguhkan, jika itu penting.
Sudah bertahun-tahun sejak saya melihat rendering bayangan, dan pada waktu itu ada banyak teknik yang tersedia, dari stensil ke berbagai metode pemetaan bayangan. Pada saat itu, render bayangan memerlukan render yang terpisah, dikontrol oleh CPU. Namun baru-baru ini saya melihat demo di mana sebuah adegan ditampilkan sepenuhnya pada GPU, termasuk bayangan. Saya tidak tahu bagaimana itu akan dicapai, atau jika itu bahkan hal yang wajar untuk dilakukan (di luar demo teknologi).
Mengingat banyaknya info lama di internet, saya ingin mempelajari metode apa yang digunakan orang saat ini, dan berapa banyak yang dapat didorong ke GPU (dengan asumsi versi OpenGL target saya mendukungnya).
Jawaban:
http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/ memberikan gambaran yang bagus tentang dasar-dasarnya. http://en.wikipedia.org/wiki/Shadow_mapping tautan ke banyak makalah penelitian yang menjelaskan berbagai peningkatan dan optimisasi.
Volume bayangan telah menjadi 'hal' beberapa tahun yang lalu. http://en.wikipedia.org/wiki/Shadow_volume dengan baik menjelaskan teknik ini.
Baru-baru ini, pendekatan ray tracing dan jalur tracing telah digunakan untuk petir / bayangan (yang telah ada sebelumnya, hanya saja bukan perangkat keras yang menggunakannya). Meskipun demikian, optimisasi yang digunakan (mis. Rendering monte carlo dengan iterasi terbatas) cenderung mengarah pada noise / artefak pada pergerakan kamera (untuk contoh efeknya, lihat misalnya http://www.youtube.com/watch?v=FJLy- ci-RyY ).
sumber