Skip to main content

გზების მიდევნება

Path Tracing

        კომპიუტერულ გრაფიკაში გზების მიდევნების მეთოდი არის ალგორითმი, რომელიც ფიზიკური პროცესის სიმულაციით საფუძველზე 3 განზომილებიანი სცენებისთვის ახდენს გლობალური განათების გამოთვლას და იღებს მაქსიმალურად რეალისტურ გამოსახულებას. განსხვავებით ფარტოდ გავრცელებული, პროექციაზე და რასტერიზაციაზე დაფუძნებული მეთოდებისაგან ის ბუნებრივი გზით, მარტივად იღებს ისეთ ვიზუალურ ეფექტებს როგორიცაა: ხედვის სიღრმე(Depth Of Field), რბილი ჩრდილები(Soft Shadow), გადღაბნილი მოძრაობა, როგორც კამერის ასევე ობიექტების(Motion Blur), მწველი სხივები(Caustics) და ბევრი სხვა, რომლებიც სხვა მეთოდებში მიიღება სხვადასხვა, სპეციალურად დამუშავებული ალგორითმებით.
        განსხვავებით სხივების მიდევნების მეთოდისაგან, რომელიც ხშირ შემთხვევაში ითვლის მხოლოდ პირველად სხივებს, გზების მიდევნების ალგორითმი ცდილობს აღადგინოს კამერიდან სინათლემდე მიმავალი ყველა შესაძლო გზები. თავად ალგორითმის აზრი იმაში მდგომარეობს, რომ ობიექტების ზედაპირის კონკრეტული წერტილისათვის დაითვალოს მთელი ის განათება, რომელიც ხვდება ამ წერტილში გარემოდან. მიიჩნევა რომ სცენაში არსებული ნებისმიერი ობიექტი ასხივებს სინათლეს ან თვითონ ასხივებს განათებას, ან ირეკლავს/ატარებს სხვა ობიექტიდან მოსულ სხივებს. სწორედ მუშაობის ამ პრინციპის გამო ალგორითმი რეკურსიული ხასიათისაა.

        ალგორითმის მიზანია იპოვოს ფერი თითოეული  პიქსელისათვის. ამისთვის ის იწყებს მუშაუბას კამერის პოზიციიდან, შესაბამისი პიქსელისათვის აღადგენს ვექტორს და გამოთვლის უახლოეს თანაკვეთას გარემოში არსებულ ობიექტებთან. მას მერე რაც დაადგენს თუ რა ტიპის ზედაპირს მოხვდა სხივი, ორმხრივი არეკვლის განაწილების ფუნქციით(BRDF) გამოთვლის არეკლილ/გატარებულ სხივს და რეკურსიულად განაგრძობს სხივის მიდევნებას, მანამ სანამ არ შესრულდება რაიმე პირობა. მაგალითად: სხივი მოხვდება განათებას, ან მივაღწევთ რაიმე წინასწარ განსაზღვრულ სიღრმეს(ეს შეზღუდვა გამოიწვევს სისტემატიურ შეცდომას და მეთოდს გახდის მიკერძოებულს), ან შევწყვეტთ რაიმე შემთხვევითი ხდომილების საფუძველზე. როგორც ალგორითმიდან ჩანს დიფუზიური ზედაპირებისთვისაც კი, რომლებიც დაცემულ სხივებს აბნევენ ყველა მიმართულებით, ჩვენ არეკვლას მხოლოდ ერთი მიმართულებით ვახდენთ. ამ შემთხვევაში ყოველ წერტილში მოხდება მხოლოდ რომელიმე კონკრეტული მიმართულებიდან მოსული განათების დათვლა. ამიტომ ალგორითმი ამ პროცესს იმეორებს ბევრჯერ რათა დააგროვოს არა რომელიმე ერთი მიმართულებიდან მოსული განათება არამედ ყველა მხრიდან. დაბალი რაოდენობის იტერაციების დროს გამოსახულებაზე ვიღებთ ხმაურს, იტერაციების ზრდასთან ერთად ხმაური მცირდება და ვიღებთ მაქსიმალურად რეალისტურ გამოსახულებას გლობალური განათებით. იმ დროს როდესაც მანათობელი ობიექტი ძალიან მცირეა ან რთულად მიღწევად ადგილას არის მოთავსებული, მაშინ ჩვენს მიერ მიდევნებული სხივები მას შეიძლება დიდი ხნის განმავლობაში არ მოხვდნენ, რაც მეთოდს მკვეთრად შეანელებს და გაზრდის ხმაურს. ეს შემთხვევა ამ მეთოდის მთავარ პრობლემას წარმოადგენს. არსებობს მოდიფიცირებული ვერსიები ალგორითმის რომლებიც წყვეტემ ამ პრობლემას. მაგალითად ორმხრივი გზების მიდევნების ალგორითმი, რომელიც ახდენს მიდევნებას კამერიდან და განათებიდან ერთდროულად. ასევე მეტროპოლისის განათების ტრანსპორტირება(MLT), ახდენს უკვე ნაპოვნი წარმატებული გზების მოდიპიკაციას და იყენებს მეტროპოლისის მეთოდს.
        მეთოდი ფართოდ გამოიყენება მაღალი ქარისხის რენდერში. წარმადობის გასაზრდელად ახდენენ მეთოდის გაპარალელებას, CPU/GPU-ზე. რამოდენიმე წელია რაც GPU-ების წარმადობის მკვეთრმა ზრდამ შესაძლებელი გახადა ამ მეთოდის იმდენად აჩქარება, რომ რეალურ დროში მომუშავე აპლიკაციებში გამოვიყენოთ. დიდი ალბათობით რამოდენიმე წელიწადში უკვე თამაშებში დაიმკვიდრებს თავს. ქვემოთ მოცემულ ვიდეოში ნაჩვენებია გზების მიდევნების მეთოდზე დაპუძნებული თამაშის ძრავი Brigade 2, რომელიც შექმნა Jacco Bikker-მა, დღეს ეს ძრავი ეკუთვნის კომპანია OTOY-ს.

Comments

Popular posts from this blog

რუსული რულეტკის მეთოდი

Russian Roulette Technique რუსული რულეტკის მეთოდი არის ფართოდ გავრცელებული ტექნიკა მონტე-კარლოს ინტეგრირების პროცესის შესაწყვეტად(სახელწოდება მოდის ცნობილი რუსული თამაშიდან). იმის მაგივრად, რომ პროცესი შევწყვითოთ ხისტად, მაგალითად შერჩევების რაოდენობის რაიმე მაქსიმალურ რაოდენობაზე, რუსული რულექტკის მეთოდი გვეხმარება ინტეგრირების პროცესის მიუკერძოვებლად შეწყვეტაში. მთავარი იდეა რუსული რულეტკის მეთოდისა არის ის, რომ რუსული რულეტკა წყვეტს მონტე კარლოს მეთოდს რაიმე არანულოვანი p ალბათობით(ალბათობა შეიზლება შეირჩეს ერთხელ ან მონტე კარლოს მეთოდის ყოველ ბიჯზე სათითაოდ რაიმე მნიშვნელოვნობით) ან აგრძელებს მას და შემდგომი პროცესიდან მიღებულ შედეგს ამრავლებს 1/p - ზე. რადგან რუსული რულეტკის მეთოდი პროცესის შეწყვეტას ახდენს რაიმე არანულოვანი p ალბათობით ყოველთვის რჩება იმის შანსი, რომ პროცესი გაგრძელდეს რაც იმას ნიშნავს, რომ მონტე კარლოს ინტეგრირების პროცესისათვის ნებისმიერი სიღრმე მიღწევადი ხდება. სწორედ ამიტომ ხისტი შეზღუდვით მიღებული მიკერძოება( სისტემატიური შეცდომა ) ქრება რუსული რ...

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

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

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

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