Photon Mapping
ფოტონების გაბნევის მეთოდი არის გლობალური განათების გამოთვლის მეთოდი რომელიც ახდენს ფოტონების გაბნევის სიმულაციას განათების წყაროებიდან სცენაში. მეთოდი გამოსახულების გამოთვლას ახდენს ორი გავლით. პირველ ჯერზე ხდება ფოტონების გაბნევის სიმულაცია სცენაში, რის შემდეგაც გაბნეულ ფოტონებს ვინახავთ აქსელერაციის სტრუქტურაში მოსახერხებელი ფორმით(რომლებიც ოპტიმიზირებულები არიან k-უახლოესი მეზობელის ამოცანის ამოხსნაზე), მეორე ჯერზე ხდება სხივების მიდევნება გაბნეულ ფოტონებზე და ვიღებთ საბოლოო გამოსახულებას. განსხვავებით გზების მიდევნების მეთოდისგან იგი არის ხედვაზე დამოუკიდებელი(View-Independent), რადგან განათების წყაროდან ფოტონების გაბნევა ხდება კამერაზე დამოუკიდებლად, რაც იწვევს რესურსების არამიზნობრივ ხარჯვას იმ პოტონებზე რომლებიც რეალურად გამოუყენებელი რჩება. მარტივი ფოტონების გაბნევის მეთოდი გულისხმობს წინასწარ განსაზღვრული რაოდენობის ფოტონების გაბნევას, რის გამოც ის არის მიკერძოებული მეთოდი. ეს იმას ნიშნავს, რომ გამოთვლის დროის გაზრდა ვერ მიგვიყვანს ბოლომდე კორექტულ შედეგამდე, თუმცა მეორესმხრივ ფოტონების რიცხვის გაზრდით შეგვიძლია მივიღოთ კორექტული შედეგი. თუმცა ეს მეთოდი ჯობნის უბრალო გზების მიდევნების მეთოდს როდესაც სინათლის წყარო პატარაა, ასევე საკმაოდ კარგად ხსნის მწველი სხივების, სპექტრული რენდერის და ზედაპირქვეშა გაბნევის პრობლემებს. არსებობს ფოტონების გაბნევის მეთოდის მოდიფიცირებული ვარიანტები რომლებიც მეტნაკლებად ხსნის ალგორითმთან დაკავშირებულ სირთულეებს და რომელთაც შემდგომში განვიხილავთ.
სურათზე აჩვენებია ფოტონების გაბნევის მეთოდი. სურათზე კარგად ჩანს მწველი სხივები და სინათლის სპექტრი. |
შთამბეჭდავია! :)
ReplyDeleteშეგიძლია გვერდი-გვერდ დადო ერთი და იგივე სცენა სხვადასხვანაირად გამოსახული? ერთი ფოტონების გაბნევით, მეორე გზების მიდევნის მეთოდით + რენდერის დრო.
ამას სამაგისტროსთვის იკვლევ?
ჩემ რენდერერში არ მაქვს ფოტონების გაბნევის მეთოდის მხარდაჭერა, ძირითადად გზების მიდევნების მიმართულებით ვმუშაობ. სამაგისტრო ნაშრომიც ამაზე იქნება + დემო.
ReplyDelete