Packet based coherent ray tracing
სურათზე ნაჩვენებია მსგავსი სხივები და მათი შემომსაზღვრელი ფრუსტუმი. |
საწარმოო რენდერერებში, მაშინ, როდესაც პროექტში არსებული სცენის მოცულობა იზრდება, იზრდება სცენაში არსებული ობიექტების რაოდენობა, იზრდება სენსორის გარჩევადობა, ... , საჭირო ხდება დამატებითი ოპტიმიზაციების გაკეთება რათა რენდერერი დასმულ ამოცანებს ადვილად გაუმკლავდეს. წინა პოსტებში ჩვენს მიერ განხილული რენდერის პროცესში ხდებოდა ციფრულ გამოსახულების თითოეული პიქსელისთვის აღდგენილი კამერიდან მიმართული პირველადი სხივების მიდევნება სათითაოდ. ამ დროს ხდებოდა თითოეული სხივისათვის თანაკვეთის შემოწმება სცენასთან, რომელიც გულისხმობს თანაკვეთების შემოწმებას სცენის შესაბამისი ხის(BVH-ის) კვანძებთან რეკურსიულად, ძირიდან ფოთლებისკენ. შესაბამისად ყოველი სხივს თავიდან უწევს ხეში ჩასვლა შესაბამის ფოთლებამდე სადაც უკვე ხდება უშუალოდ პრიმიტივებთან თანაკვეთის გამოთვლა. სცენაში არსებული ობიექტების რაოდენობის ზრდა იწვევს ხის ზრდას სიმაღლეში და შესაბამისად თანაკვეთის დათვლის პროცესში სხივს უხდება უფრო ღრმად ჩასვლა ხეში, რომ მივიდეს იმ გეომეტრიასთან რომელსაც კვეთს რეალურად.
თუ დავაკვირდებით კამერიდან წამოსულ პირველად სხივებს ადვილად შევამჩნევთ, რომ მეზობლად მყოფი სხივები(ახლომდებარე პიქსელების შესაბამისი) მსგავს გზას გადიან როგორც სივრცეში ასევე BVH-თან თანაკვეთის ძებნისას.
ჩვენ შეგვიძლია თანამკვეთი სხივების ეს მსგავსება ჩვენს სასარგებლოდ გამოვიყენოთ და გავზარდოთ გამოთვლითი პროცესის ეფექტურობა. ამისათვის იყენებენ სხივების პაკეტებად მიდევნების მეთოდს. სხივების პაკეტებად მიდევნების მეთოდი პირველად გამოიყენა Ingo Wald-მა, 2001-ში. თუკი ჩვენ მოვახდენთ მსგავსი სხივების განსაზღვრას და მათ შევკრავთ პაკეტებად, მაშინ შევძლებთ სხივის სცენასთან თანაკვეთის მაგივრად დავითვალოთ პაკეტის თანაკვეთა სცენასთან. ამით ჩვენ თავიდან ავიცილებთ იმ მსგავს გამოთვლებს, რომელიც თან ახლავს მსგავი სხივების მიდევნების პროცესს. ხშირად იყენებენ 4x4, 8x8, 16x16, 32x32 ზომის პაკეტებს. პაკეტში არსებული სხივების მსგავზება(coherence) პაკეტის კორექტულობას არ არღვევს თუმცა მკვეთრად მოქმედებს მის ეფექტურობაზე. უმსგავსი(incoherent) სხივების პაკეტებად მიდევნებამ, შესაძლოა გამოიწვიოს წარმადობის ვარდნა გაზრდის ნაცვლად. ასევე პაკეტის მიდევნების ეფექტურობა ეცემა მაშინ, როდესაც პაკეტი სცენის სხვადასხვა ობიექტებს ხვდება.
სხივების პაკეტებად მიდევნების პროცესში დამატებით ოპტიმიზაციას წარმოადგენს სხივების თანაკვეთის დათვლამდე მათი შემომსაზღვრელი ფრუსტუმის შემოწმება თანაკვეთაზე, რაც თავიდან აგვაცილებს ტყუილ შემოწმებებს, მაშინ როდესაც პაკეტი ცდება ობიექტს(იხილეთ პირველი სურათი). ფრუსტუმი(ინგლისურად "frustum") წარმოადგენს 6 სიბრტყით შემოსაზღვრულ ფიგურას რომელიც გარს ეკვრის სხივებს. დამატებითი ტესტისათვის შეიძლება ნებისმიერი სხვა ფიგურის გამოყენება რომელიც გარს ეკვრის სხივებს, მაგალითად კონუსი. შემომსაზღვრელი ფიგურის ფორმა მეთოდის კორექტულობას არ არღვევს, შერჩეული შემომსაზღვრელი ფიგურის ეფექტურობაზე მოქმედებს 2 ფაქტორი: ფიგურა მჭიდროდ უნდა ეკვროდეს სხივებს და მისი თანაკვეთის შემოწმება BVH-ის კვანძის შემომსაზღვრელ ფიგურასთან(როგორც წესი AABB-სთან) უნდა იყოს მსუბუქი ოპერაცია.
რენდერის პროცესში მსგავსი სხივები გვხვდება ბევრგან თუმცა ხშირ შემთხვევაში რთულია მათი თავმოყრა ერთად და პაკეტებად მიდევნების ორგანიზება. პაკეტში შეიძლება შევკრათ მაგალითად განათების შერჩევისას ერთი განათებისკენ მიმართული სხივები, ასეთ შემთხვევაში განათება რაც უფრო დიდია ჩვენი სხივები მეტად გაშლილი იქნება და შესაბამისად პაკეტებად მიდევნება ნაკლებად ეფექტური. კამერიდან წამოსული სხივების მიდევნების შემთხვევაში, სხივების გაშლას იწვევს მაგალითად ლინზის ზომის ზრდა, რაც ასევე ამცირებს პაკეტების მიდევნების ეფექტურობას. არის მეთოდბები, რომლებიც ახდენებ სხივების პაკეტებად მიდევნებას სპეკულარული არეკვლის შემდგომაც, როდესაც მათი გაშლა არ ხდება დიდად. ასევე ახდენენ უმსგავსი(incoherent) სხივების დაჯგუფებას მსგავსი სხივების პაკეტებად თუმცა დამატებითი გამოთვლითი რესურსის ხარჯზე რაც საბოლოოდ ისევ ამცირებს მეთოდის ეფექტურობას.
ჩვენ შეგვიძლია თანამკვეთი სხივების ეს მსგავსება ჩვენს სასარგებლოდ გამოვიყენოთ და გავზარდოთ გამოთვლითი პროცესის ეფექტურობა. ამისათვის იყენებენ სხივების პაკეტებად მიდევნების მეთოდს. სხივების პაკეტებად მიდევნების მეთოდი პირველად გამოიყენა Ingo Wald-მა, 2001-ში. თუკი ჩვენ მოვახდენთ მსგავსი სხივების განსაზღვრას და მათ შევკრავთ პაკეტებად, მაშინ შევძლებთ სხივის სცენასთან თანაკვეთის მაგივრად დავითვალოთ პაკეტის თანაკვეთა სცენასთან. ამით ჩვენ თავიდან ავიცილებთ იმ მსგავს გამოთვლებს, რომელიც თან ახლავს მსგავი სხივების მიდევნების პროცესს. ხშირად იყენებენ 4x4, 8x8, 16x16, 32x32 ზომის პაკეტებს. პაკეტში არსებული სხივების მსგავზება(coherence) პაკეტის კორექტულობას არ არღვევს თუმცა მკვეთრად მოქმედებს მის ეფექტურობაზე. უმსგავსი(incoherent) სხივების პაკეტებად მიდევნებამ, შესაძლოა გამოიწვიოს წარმადობის ვარდნა გაზრდის ნაცვლად. ასევე პაკეტის მიდევნების ეფექტურობა ეცემა მაშინ, როდესაც პაკეტი სცენის სხვადასხვა ობიექტებს ხვდება.
სხივების პაკეტებად მიდევნების პროცესში დამატებით ოპტიმიზაციას წარმოადგენს სხივების თანაკვეთის დათვლამდე მათი შემომსაზღვრელი ფრუსტუმის შემოწმება თანაკვეთაზე, რაც თავიდან აგვაცილებს ტყუილ შემოწმებებს, მაშინ როდესაც პაკეტი ცდება ობიექტს(იხილეთ პირველი სურათი). ფრუსტუმი(ინგლისურად "frustum") წარმოადგენს 6 სიბრტყით შემოსაზღვრულ ფიგურას რომელიც გარს ეკვრის სხივებს. დამატებითი ტესტისათვის შეიძლება ნებისმიერი სხვა ფიგურის გამოყენება რომელიც გარს ეკვრის სხივებს, მაგალითად კონუსი. შემომსაზღვრელი ფიგურის ფორმა მეთოდის კორექტულობას არ არღვევს, შერჩეული შემომსაზღვრელი ფიგურის ეფექტურობაზე მოქმედებს 2 ფაქტორი: ფიგურა მჭიდროდ უნდა ეკვროდეს სხივებს და მისი თანაკვეთის შემოწმება BVH-ის კვანძის შემომსაზღვრელ ფიგურასთან(როგორც წესი AABB-სთან) უნდა იყოს მსუბუქი ოპერაცია.
რენდერის პროცესში მსგავსი სხივები გვხვდება ბევრგან თუმცა ხშირ შემთხვევაში რთულია მათი თავმოყრა ერთად და პაკეტებად მიდევნების ორგანიზება. პაკეტში შეიძლება შევკრათ მაგალითად განათების შერჩევისას ერთი განათებისკენ მიმართული სხივები, ასეთ შემთხვევაში განათება რაც უფრო დიდია ჩვენი სხივები მეტად გაშლილი იქნება და შესაბამისად პაკეტებად მიდევნება ნაკლებად ეფექტური. კამერიდან წამოსული სხივების მიდევნების შემთხვევაში, სხივების გაშლას იწვევს მაგალითად ლინზის ზომის ზრდა, რაც ასევე ამცირებს პაკეტების მიდევნების ეფექტურობას. არის მეთოდბები, რომლებიც ახდენებ სხივების პაკეტებად მიდევნებას სპეკულარული არეკვლის შემდგომაც, როდესაც მათი გაშლა არ ხდება დიდად. ასევე ახდენენ უმსგავსი(incoherent) სხივების დაჯგუფებას მსგავსი სხივების პაკეტებად თუმცა დამატებითი გამოთვლითი რესურსის ხარჯზე რაც საბოლოოდ ისევ ამცირებს მეთოდის ეფექტურობას.
Comments
Post a Comment