ფიზიკაზე დაფუძნებული რენდერი(შემოკლებით PBR) დღესდღეობით კომპიუტერული გრაფიკის სფეროში ერთ-ერთ ყველაზე აქტუალურ და მნიშვნელოვან თემას წარმოადგენს. ის უფრო ხელმისაწვდომი გახდა მას მერე რაც პერსონალური კომპიუტერების წარმადობა მკვეთრად გაიზარდა. სწორედ ამიტომ საჭიროდ ჩავთვალე ამ თემაზე ვრცელი პოსტის გაკეთება, სადაც მეტნაკლებად დაწვრილებით განვიხილავთ PBR-ის მთავარ პრინციპებს და ბოლო მიღწევებს.
ხშირად ხდება ხოლმე ტერმინების არასწორი გამოყენება და ურევენ ერთმანეთში ფიზიკაზე დაფუძნებულ რენდერს და ფიზიკაზე დაფუძლებულ შეფერადებას(Shading). რეალურად რენდერი გულისხმობს გარემოს ვიზუალიზაციის მთელს პროცესს, რომლის ერთ-ერთ კომპონენტსაც წარმოადგენს შეფერადებაც, შესაბამისად PBR-ისათვის მხოლოდ შეფერადების პროცესის ფიზიკურ მოდელზე დაფუძნება არ კმარა, საჭიროა რენდერერის სხვა დანარჩენი ნაწილებიც მაქსიმალურად ახლოს იყვნენ ფიზიკურ მოდელთან. დღეს უკვე წამყვანი თამაშის ძრავები ვიზუალიზაციაში უკვე ახდენენ ფრაგმენტების შეფერადებას ფიზიკურ მოდელზე დაფუძნებით რეალურ დროში, რაც მკვეთრად ზრდის გამოსახულებაში არსებულ რეალიზმს.
იმისათვის, რომ რენდერი იყოს ფიზიკაზე დაფუძნებული უნდა გააჩნდეს ფიზიკური მოდელი. რენდერის პროცესის ფიზიკურ მოდელს წარმოადგენს რენდერის განტოლება:
რენდერის განტოლება აღწერს დამკვირვებლისკენ მომავალ განათებას უსასრულოდ მაღალი ხარისხის ინტეგრალური განტოლების სახით. ინტეგრალის მაღალი სიზუსტით გამოთვლა საკმაოდ დიდ გამოთვლით რესურსს მოითხოვს, სწორედ ამიტომ რელაურ დროში მომუშავე აპლიკაციები მის ამოხსნას თავს არიდებენ და სხვადასხვა ხერხებით(რომლების არაა ფიზიკურად სწორი) ცდილობენ მის მიახლოვებას. რეალურად ირიბი განათების გამოთვლა არის გრაფიკის ყველაზე რთული ამოცანა სწორედ ამიტომ ხდება რენდერის განტოლების გახლეჩვა 2 ნაწილად პირფაპირი და ირიბი განათების ცალცალკე გამოსათვლელად(ეს მიდგომა offline მეთოდებშიც აქტიურად გამოიყენება). განვიხილოთ პირდაპირი განათების გამოთვლის პროცესი.
პირდაპირი განათების გამოთვლა ნიშნავს სინათლის წყაროებიდან პირდაპირ მოსული განათების დათვლას რომელსაც აღწერს შემდეგი განტოლება:
როგორც გატოლებიდან ჩანს აქაც გვხვდება ინტეგრალი, თუმცა წინამორბედისგან განსხვავებით ის სასრული ხარისხისაა და მისი გამოთვლა ბევრად მარტივია. ინტეგრალში გვხვდება 4 თანამამრავლი:
- fr - იგივე BSDF, გაბნევის განაწილების ფუნქცია.
- L - სინათლის წყაროს ინტენსივობა.
- V - ხილვადობა.
- G - გეომეტრიული ფაქტორი.
ამ 4 კომპონენტიდან ხილვადობის დათვლა მოითხოვს ყველაზე მეტ გამოთვლით რესურსს. სწორედ ამიტომ რეალურ დროში მომუშავე აპლიკაციებში მისი გამოთვლა ხდება ალტერნატიული, დაბალი სიზუსტის გამოთვლის მეთოდებით(Shadow mapping) ან საერთოდ არ ხდება. გზების მიდევნების მეთოდი მას ითვლის სხივისა და სცენის თანაკვეთის ამოხსნის გზით, რაც მაქსიმალურ სიზუსტეს იძლევა და შესაბამისად დიდ დროს მოითხოვს. ერთ-ერთ მნიშვნელოვან ნაწილს ამ ოთხეულში წარმოადგენს BSDF-ი (fr), რადგან სწორედ ის არის პასუხისმგებელი შეფერადებაზე.
ფიზიკაზე დაფუძნებული შეფერადება
Physically Based Shading
ფიზიკაზე დაფუძნებული შეფერადება გულისხმობს BSDF ფუნქციის ისეთ იმპლემენტაციას, რომელსაც საფუძვლად უდევს სინათლის სხივის გაბნევის ფიზიკური პროცესის მათემატიკური მოდელი. ფონგის, ბლინის მოდელები არაა ფიზიკაზე დაფუძნებულები. ასეთ მოდელებს ეძახიან ემპირიულებს, ისინი არ მოითხოვენ დიდ გამოთვლით რესურსს, ამიტომაც წლების მანძილზე ფართოდ გამოიყენებოდა კომპიუტერულ თამაშებში და დღესაც გამოიყენება.
გარდა ზემოთ მოყვანილი განმარტებისა ფიზიკაზე დაფუძნებული გაბნევის განაწილების ფუნქციები ასევე აკმაყოფილებენ შემდეგ თვისებებს:- რეციპტრულობა - თუკი განათებისა და დამკვირვებლის მიმართულებებს შევუცვლით ადგილებს ამან შედეგზე გავლენა არ უნდა იქონიოს.
- ენერგიის მუდმივობა - არეკლილი განათება(ენერგია) არ უნდა იყოს მეტი დაცემულ განათებაზე.
მიკროწახნაგოვანი BSDF-ები
უხეშ, მიკროწახნაგოვან ზედაპირზე სინათლის სპეკულარული არეკვლის ფენომენის ერთერთ პირველ მათემატიკურ მოდელს წარმოადგენს Cook-Torrance-ს მოდელი, ის მიიჩნევს, რომ ზედაპირი შედგება უამრავი , მცირე ზომის მიკროწახნაგისგან, რომელთაც აქვთ სხვადასხვა მიმართულება და რომლების სხივებს ირეკლავენ სარკულად. თუ ჩვენ ჩავთვლით რომ რენდერი მიმდინარეობს არა მიკრო მაშტაბში, მაშინ კარგი იქნება თუ სხივების არეკვლის პროცესს შევაფასებთ უფრო ზუსტად, მათემატიკურად და გამოვიყენებთ მას როგორც BSDF-ს. Torrance-Sparrow-ს(1967) BSDF-ს აქვს შემდეგი სახე:
სადაც N, V და L არის მაკრო ნორმალი, დამკვირვებლის და განათების მიმართულება, ხოლო
- D - აღწერს მიკრო წახნაგების მიმართულებებს(NDF).
- F - ფრესნელის არეკვლადობა.
- G - გეომეტრიული ფაქტორი, აღწერს სინათლის სხივების მიკროზედაპირებზე თანაკვეთის, ბლოკირების შედეგად ინტენსივობის შესუსტებას.
![]() |
სურათზე ნაჩვენებია ერთეულოვანი ფართობის მქონე მიკროწახნაგოვან ზედაპირზე სხივების არეკვლა. ცისფრად ნაჩვენებია მიკროწახნაგების ნორმალები სხივების დაცემის წერტილებში. წითლად ნჩვენებია დაბლოკილი სხივი. |
ნორმალების განაწილების ფუნქცია
ნორმალების განაწილების ფუნქცია(NDF), როგორც სახელწოდებიდან ჩანს აღწერს მიკროწახნაგენის ნორმალების განაწილებას. ნორმალების განაწილება მკვეთრად მოქმედებს ზედაპირის საბოლოო სახეზე. ზედაპირის განაწილების ფუნქცია შეიძლება მოცემული იყოს სხვადასხვა სახით. არსებობს განაწილების რამოდენიმე ცნობილი ფუნქცია, რომლების ხშირად გამოყენება პრაქტიკაში, მაგალითად Phong, Beckmann, GGX. თუმცა ექსპერიმენტებში, სადაც ხდებოდა შედარება რეალურ გაზომილ BSRF-ებთან GGX-მა საგრძნობლად უკეთესი შედეგი აჩვენა. GGX განაწილებას აქვს შემდეგი სახე:
სადაც χ+(a) უდრის 1-ს თუ a>0, ხოლო 0-ს წინააღმდეგ შემთხვევაში. m არის მიკრონორმალი, n მაკრონორმალი, θm არის კუთხე მათ შორის, ხოლო αg არის ზედაპირის სიუხეშის პარამეტრი.
გრაფიკი უჩვენებს GGX განაწილებას, როგორც გრაფიკიდან ჩანს როდესაც α=1.0 ნორმალების განაწილება ხდება თანაბარი.
სადაც χ+(a) უდრის 1-ს თუ a>0, ხოლო 0-ს წინააღმდეგ შემთხვევაში. m არის მიკრონორმალი, n მაკრონორმალი, θm არის კუთხე მათ შორის, ხოლო αg არის ზედაპირის სიუხეშის პარამეტრი.
გრაფიკი უჩვენებს GGX განაწილებას, როგორც გრაფიკიდან ჩანს როდესაც α=1.0 ნორმალების განაწილება ხდება თანაბარი.
ფრესნელის არეკვლადობა
ფრესნელმა აჩვენა, რომ ზედაპირის არეკვლადობა დამოკიდებულია სხივის დაცემის მიმართულებასა და ზედაპირის ნორმალს შორის კუთხეზე. ხშირ შემთხვევასი კუთხის ზრდა იწვევს არეკვლადობის ზრდას, თუმცა ეს ყოველთვის ასე არაა. ამ ფენომენს უსოდებენ ფრესნელის არეკვლადობას.
დაჩრდილვის და მასკირების ფუნქციები
განათების წყაროდან მომავალი სინათლე შესაძლოა მიკროწახნაგოვანი ზედაპირის ყველა ნაწილზე არ მოხვდეს, ამ პროცესს ეწოდება დაჩრდილვა(იხილეთ ზედა სურათი). ასევე მიკროწახნაგოვანი ზედაპირის ნაწილი შესაძლოა არ ჩანდეს დამკვირვებლიდან და შესაბამისად დამკვირვებლისკენ არეკლილი სხივები შესაძლოა დაიბლოკოს, ამ ფენომენს უწოდებენ მასკირებას.(იხილეთ ქვემოთ მოცემული სურათი)
რეალურად ორივე, მასკირებაც და დაჩრდილვაც წარმოადგენს ხილვადობის ფენომენს და ერთმანეთისაგან პრინციპულად არ განსხვავდება. არსებობს დაჩრდილვის/მასკირების გამოთვლის სხვადასხვა მეთოდები, რომელთაც თავისი დადებითი და უარყოფითი თვისებები ახასიათებთ. ერთერთ ყველაზე პოპულარულს წარმოადგენს Smith-ის(1967) დაჩრდილვის/მასკირების ფუნქცია. მისი განმარტებით გეომეტრიული ფაქტორი შესაძლოა აღიწეროს, როგორ მასკირების და დაჩრდილვის ნამრავლი, ხოლო მასკირებაც და დაჩრდილვაც შესაძლოა აღიწეროს ერთი ხილვადობის ფუნქციით G1.
G2(ωo,ωi,ωm) = G1(ωo,ωm) * G1(ωi,ωm)
სადაც ωo არის სხივის დაცემის მიმართულება, ωi სხივის არეკვლის მიმართულება ხოლო ωm ნორმალი. ωo, ωi და ωm მიმართულებებს ხშირად L, E და H ითაც აღნიშნავენ.
თავად GGX განაწილებისათვის Smith-ის G1 ფუნქციას Schlick-ის მიახლოვებით აქვს შემდეგი სახე:
სადაც θv არის კუთხე v და m ვექტორებს შორის, ხოლო αg არის ზედაპირის სიუხეშის პარამეტრი. ქველოთ მოცემულ გრაფიკზე ნაჩვენებია G1 ფუნქცია როდესაც αg იცვლება 0-დან 1-მდე.
![]() |
გრაფიკი უჩვენებს დაჩრდილვის(y ღერძი) დამოკიდებულებას სხივის დაცემის კუთხესთან(x ღერძი) სხვადასხვა ზედაპირის სიუხეშის(α) დროს, მიკროწახნაგების GGX განაწილების პირობებში. |
უხეშ ზედაპირებზე არეკვლის მიკროწახნაგოვანი მოდელი დღესდღეობით ყველაზე სრულყოფილია, თუმცა მას თავისი უარყოფითი მხარეებიც აქვს. რეალურ ზედაპირზე არეკლილი სხივები მასკირების დროს არ იბლოკება, არამედ ირეკლება მიკროზედაპირზე უკვე სხვა განაწილებით რასაც მიკროწახნაგოვანი მოდელი უკვე აღად ითვლის. ასევე მიკროწახნაგოვანი ზედაპირის დაჩრდილულ ნაწილშიც ხვდება სხივები ირიბად რასაც ასევე არ ითვალისწინებს მოდელი. სხვა სიტყვებით რომ მიკროწახნაგოვანი მოდელი მიკროთზედაპირზე მრავალჯერად არეკვლებს არ ითვალისწინებს, არამედ ითვალისწინებს მხოლოდ პირდაპირ არეკლილ განათებას, რაც რა თქმა უნდა ენერგიის კარგვასთანაა დაკავშირებული.
Comments
Post a Comment