Skip to main content

ზედაპირქვეშა გაბნევა

Subsurface Scattering
SSS მატერიალი C4d-ში(წყარო).
        მოცულობითი რენდერი ერთერთი ყველაზე რთული ნაწილია ფიზიკაზე დაფუძნებული რენდერის და ის კიდევ უფრო რთული ხდება, როდესაც გამბნევი გარემო შემოსაზღვრულია ზედაპირით. ასეთ შემთხვევაში მრავალი მნიშვნელოვნობით შერჩევა (MIS) ვერ გვეხმარება, რადგან გამბნევ სივრცულ ნაწილაკებზე განათების შერჩევა უმეტეს შემთხვევაში უძლურია. განათება ზედაპირს გარეთ მდებარეობს და ერთადერთი შანსი, რომ განათებას მივაგნოთ არის ფაზური ფუნქციის შერჩევა(ანუ შემთხვევითად არეკვლა სივრცულ ნაწილაკზე). ასე რომ თუკი ზედაპირქვეშა სივრცულ ნაწილაკებზე მკვეთრი პირდაპირი განათება მოდის მხოლოდ უხეში ძალის მეთოდის(brute force) გამოყენებით ძალიან დიდ ხმაურს მივიღებთ და თუკი შემომსაზღვრელი ზედაპირი მეტნაკლებად სპეკულარულია და განათების წყარო კი პატარა მაშინ შეიძლება საუკუნეები დაჭირდეს რენდერის გასუფთავებას.
        ზედაპირქვეშა გაბნევა ძალიან მოთხოვნადია საწარმოო რენდერერებში. ფიზიკაზე დაფუძნებული რენდერი რეალურ გარემოში არსებული მასალებისა, როგორიცაა მაგალითად ადამიანის კანი, ძალიან მნიშვნელოვანია კინო და ვიზუალური ეფექტების ინდუსტრიისთვის.
BSSRDF
        ორმხრივი ზედაპირზე გაბნევის არეკვლის განაწილების ფუნქცია (Bidirecional  Surface Scattering Reflection Distribution Function) აღწერს სინათლის ტრანსპორტირებას ნებისმიერ ორ სხივს შორის, რომლებიც ეცემიან ზედაპირზე, მაშინ როცა BRDF გულისხმობს რომ ორივე სხივის დაცემის წერტილი ერთია.(იხილეთ ქვემოთ მოცემული სურათი)
BRDF და BSSRDF სქემატურად. (წყარო)
        ერთერთი პირველი პრაქტიკული მეთოდი რომელიც ახდენდა BSSRDF-ის გამოთვას წარმოადგინეს Jensen-მა და Buhler-მა, რომელიც განსაზღვრავს ზედაპირის ორ წერტილს შორის დამოკიდებულების ფუნქციას რომელიც შესაძლოა დამოკიდებული იყოს სხვადასხვა პარამეტრებზე როგორიცაა მანძილი, ნორმალები და ა.შ. მეთოდი არის ორ ეტაპიანი: პირველ ეტაპზე ხდება ზედაპირზე წინასწარ განსაზღვრული რაოდენობის თანაბრადგანაწილებული წერტილების  მონიშვნა და ამ წერტილებში მოსული ენერგიის გამოთვლა, ხოლო მეორე ეტაპზე ხდება სხივების მიდევნება როდესაც ყოველ შეფერადების წერტილში ვახდენთ ახლოს მდებარე წინასწარ გამოთვლილი წერტილების მოძიებას და მათზე დაყრდნობით საბოლოო შედეგის მიახლოვებას. მეთოდს ასევე ახასიათებს ციმციმი ანიმაციებში, ჭირდება 2 ეტაპი გამოთვლებისა და მოითხოვს დამატებით მეხსიერებას რის გამოც ეს მეთოდი ძალიან არაპრაქტიკულია რეალთაიმ/პროგრესული რენდერერებისთვის.
1.წერტილების თანაბარი განაწილება ზედაპირზე.
2.წერტილებში განათების დათვლა.
3.bssrdf-ის მიახლოვება.
(წყარო)
        ასევე არსებობს ბევრი სხვადასხვა მეთოდი რომელიც ახდენს bssrdf-ის მიახლოვებას ერთი გავლით როდესაც არეკვლილი სხივის სათავის გამოთვნა ხდება შეფერადების პროცესშივე. ერთერთი ასეთი მეთოდი წარმოადგინა ასევე solidangle-მა რომელიც ახდენს სფეროს რადიუსის შერჩევას, შემდგომ სწეროზე წერტილის შერჩევას და მათ პროექციას ზედაპირზე ნორმალის და 2 ურთიერთმართობული მხების მიმართულებით. შედეგების გაერთიანება ხდება MIS-ის საშუალებით.
მარცხნივ-პროექცია ნორმალის მიმართულებით.
მარჯვნივ-პროექცია 3 მიმართულებით.
        ასეთ დროს სწორ ზედაპირებზე ვკარგავთ წარმადობას რადგან ვახდენთ წერტილების პროექციას 3-ჯერ რომელთაგან 2 ხშირ შემთხვევაში წარუმატებელია თუმცა, ხშირ შემთხვევაში მრავალი მნიშვნელოვნობის მეთოდით მიღებული შედეგი ბევრად უფრო ეფექტურია.
რადენდერებულია Arnold-ში.
        ზედაპირქვეშა გაბნევა ძალიან აქტიური კვლევის საგანია. აღსანიშნავია ის ფაქტი რომ დღემდე არ არსებობს მიუკერძოვებელი მეთოდი რომელიც ეფექტურად უმკლავდება ზედაპირევეშა გაბნევას. სწორედ ამიტომ საწარმოო რენდერერებში ძირითადად მიკერძოებული მეთოდები ჭარბობს.

Comments

Popular posts from this blog

CPU GPU და ჰიბრიდული რენდერერები

წყარო         დღემდე აქტუალურია თემა CPU რენდერერი ჯობია თუ GPU . იმისათვის რომ ამ კითხვას მეტნაკლებად ამომწურავი პასუხი გავცეთ განვიხილოთ რენდერერის სტრუქტურა და მოცემულ პლათფორმებზე იპმლემენტაციასთან დაკავშირებული პრობლემები. რენდერერი შედგება რამოდენიმე დიდი კომპონენტისგან როგორიცაა ხილვადობის ამოცანა შეფერადება ინტეგრატორები ფუნქციონალი ხილვადობის ამოცანა         ხილვადობის ამოცანა ერთერთი ყველაზე რთულია გამოთვლითი რესურსის კუთხით. გარდა იმისა, რომ სხივის გეომეტრიასთან თანაკვეთის დათვლას საკმაოდ დიდი დრო ჭირდება, ასევე საჭიროა ამაჩქარებელ სტრუქტურების განახლება კადრიდან კადრზე დინამიური სცენებისათვის. კარგი ისაა, რომ რენდერერის ეს ნაწილი საკმაოდ ადვილად ენკაპსულირებადია და შესაბამისად გვხვდება ბიბლიოთეკები მაგალითად embree(intel), fireRays(AMD), OptiX prime(nvidia), ... რომლებიც ამ ამოცანას საკმაოდ ეფექტურად ხსნიან და რენდერერებშიც მეტნაკლებად ადვილად ინტეგრირდებიან.  სხივების მიდევნების პროცესში ძალიან მნიშვნელოვანია მსგავსი გამოთვლების ლოკალიზება და არსებული SIMD

სინათლის ხილული სპექტრი და სხივის თვისებები

Visible Spectrum სურათზე ნაჩვენებია პრიზმაში გამავალი თეთრი სხივის სპექტრულად გაშლის პროცესი.         სინათლე წარმოადგენს ელექტრომაგნიტურ ტალღას, რომელსაც როგორც ყველა ელექტრომაგნიტურ ტალღას გააჩნია რამოდენიმე მნიშვნელოვანი მახასიათებელი. ერთერთი მნიშვნელოვანი მახასიათებელი არის ტალღის სიგრძე, რომელიც განსაზღვრავს სხივის სპექტრულ ფერს. ელექტრომაგნიტური ტალღები ბუნებაში და თანამედროვე სამყაროში მრავლად გვხვდები. სხვადასხვა ტალთის სიგრძის(სიხშირის) ტალღებს იყენებენ როგორც საყოფაცხოვრებო(რადიო, მობილური ტელეფონი) დანიშნულების, ასევე სამედიცინო(რენდგენის სხივები) და სამხედრო(რადარები) მოწყობილობებში. ადამიანის თვალისთვის ხილული სინათლის ელექტრომაგნიტური ტალღების ტალღის სიგრძე იწყება დაახლოებით 400 ნანომეტრიდან და მთავრდება 700 ნანომეტრზე. ამ დიაპაზონს ქვემოთ ექცევა ულტრაიისფერი ტალღები და დიაპაზონს ზემოთ ექცევა ინფრაწითელი, რომელსაც ადამიანის თვალი ვერ აღიქვამს(იხილეთ ქვემოთ მოცემული სურათი). სინათლის თეთრი სხივი შედგება სხვადასხვა სიხშირის ტალღების ერთობლიობისგან.        

ფერების RGB მოდელი

RGB Color Model         ფერების RGB მოდელი წარმოადგენს ისეთ მოდელს რომელშიც სამი ძრირითადი ფერის წითელი, მწვანე და ლურჯის საშუალებით მიიღება ფერების ფართო სპექტრი. მისი დასახელებაც მოდის სწორედ ძირითადი ფერების ინგლისური სახელწოდების ინიციალებიდან(Red, Green, Blue).         ფერთა სპექტრის ამდაგვარი წარმოდგენა დაკავშირებულია იმასთან, რომ გამოსახულების გამოტანის მოწყობილობებში რომელიც გააჩნიათ კომპიუტერებს, ტელევიზორებს ფერის მიღება ფიზიკურად ხდება სწორედ ამ სამი ძირითადი ფერის შეზავებით. დღესდღეობით ყველაზე გავრცელებული არის 24 ბიტიანი RGB მოდელი, სადაც თითოეულ კომპონენტს ეთმობა ერთი ბაიტი და შესაბამისად შეუძლია მიიღოს ნებისმიერი მნიშვნელობა [0, 255] დიაპაზონში, რაც საბოლოოდ გვაძლევს 16777216 განსხვავებულ ფერს.