Skip to main content

Posts

Showing posts from 2016

თანაბარკუთხოვანი შერჩევა სივრცული რენდერისთვის

Equiangular sampling for volumetric rendering შერჩევა სიმკვრივის პროპორციულად და თანაბარკუთხოვანი შერჩევა.( წყარო )         იმისათვის რომ დავითვალოთ პირდაპირი განათება სივრცულ ნაწილაკებზე საჭიროა პირველ რიგში შევარჩიოთ სივრცული ნაწილაკი სინათლის გადამტან სხივზე და შემდგომ დავითვალოთ პირდაპირი განათება მასზე. აღმოჩნდა რომ სივრცული ნაწილაკის შერჩევა ძალიან მნიშვნელოვანია და მკვეთრი გავლენა შეიძლება იქონიოს მეთოდის ეფექტურობაზე. მაგალითად  თუკი გამბნევი გარემო თანაბარია ნაწილაკის თანაბარი მონიშვნა სხივის გასწვრივ ძალიან ცუდ შედეგს იძლევა(იხილეთ მარცხენა სურათი ზემოთ მოცემულ მაგალითზე). ამის მიზეზი ის არის რომ სხივებისთვის რომელბიც ახლოს არიან განათებასთან მონიშნული ნაწილაკების უმეტესობა იმდენად შორსაა განათბიდან რომ მათზე მოსული განათება საგრძნობლსდ მცირეა, რადგან ნაწილაკზე მოსული ენერგია მანძილის კვადრატის უკუპროპორციულია. ეს ძალიან  მნიშვნელოვანს ხდის ნაწილაკის შერჩევის პროცესს. იმისათვის, რომ მოვახდინოთ ნაწილაკების შერჩევა მათზე მოსული ენერგიის ...

განათების გზის გამოსახულებები

Light Path Expressions         გლობალური განათების დათვლა გულისხმობს სინათლის გადამტანი ყველა შესაძლო გზის გამოთვლას განათებიდან სენსორამდე, თუმცა ეს გზები ერთმანეთისგან შეგვიძლია აზრობრივად განვმიჯნოთ, დავაჯგუფოთ სხვადასხვა ჯგუფებად. მაგალითად თუკი სცენაში გვაქვს ორი სხვადასხვა ტიპის განათება შეგვიძლია ვთქვათ რომ განათების გზები ნაწილი მოდის ერთი განათებიდან ხოლო დანარჩენი მეორედან. ასეთ დაჯგუფებას ვუწოდოთ დაჯგუფება განათებების მიხედვით .  სხვამხრივ მაგალითად სცენაში გვაქვს რაიმე x ობიექტი და ვიტყვით რომ განათების გზები იყოფიან 2 ჯგუფად, ისინი რომლებიც ერთხელ მაინც ხვდებიან ამ ობიექტს და რომლებიც არ ხვდებიან. ასეთი დაყოფა არის დაყოფა ობიექტთან ურთიერთქმედების მიხედვით . განათების წყაროდან მომავალი განათება შესაძლოა უსასრულოდ დიდი რაოდენობით აირეკლოს სანამ სენსორში მოხვდება, ასე რომ განათების გზების სიმრავე ასევე შეგვიძლია დავყოთ 2 ჯგუფად: ისინი რომლებიც ერთხელ ირეკლებიან და ისინი რომლებიც 1-ზე მეტჯერ, დაყოფა პირდაპირ და ირიბ განათბად . ასევე მაგალითად სცენა...

შერეული და ფენოვანი მატერიალები

Layered BxDFs vs Fresnel based mixing   დრაკონის მოდელი ოქროს საბაზისო მატერიალით და 0.05, 0.5, 2 და 4 მმ სისქის მტვრის ფენით. დარენდერებულია mitsuba -ში.          იმისათვის, რომ შევძლოთ ზედაპირის მატერიალის რეალისტური აღწერა საჭიროა შევქმნათ ფიზიკური მოდელი რომელიც მეტნაკლებად ზუსტად აღწერს რეალურ ზედაპირს. უმეტეს შემთხვევაში ზედაპირის მხოლოდ ერთი რომელიმე BxDF -ით ( BRDF -ით ან BTDF -ით) აღწერა სასურველ შედებს ვერ გვაძლევს, ასეთ შემთხვევაში ჩვენ მათ კომბინირებას ვახდენთ. მაგალითად წარმოვიდგინოთ ზედაპირი რომელიც არც მთლად დიფუზიურია და არც მთლად კარგად ემთხვევა ჩვენს რომელიმე სპეკულარულ BRDF -ს ასეთ შემთხვევაში შეგვიძლია ვთქვათ რომ ის ნაწილობრივ დიფუზიურია ნაწილობრივ სპეკულარული, ასეთი სახით მიღებულ BxDF -ს ჩვენ ვუწოდებთ შერეულს .         შერეული BxDF-ით ზედაპირის აღწერა დიდი ხნის მანძილზე ფართოდ გამოიყენებოდა და როგორც ჩანს საკმარისიც იყო თუმცა შემდგომ საჭირო გახდა ისეთი ზედაპირების აღწერა რომელიც რამოდენიმე სხვადასხვა ტიპის მა...

მრავალმხრივი მეტროპოლისის სინათლის ტრანსპორტირება

MMLT         ჩვენ უკვე ვიცით მეტროპოლისის მეთოდზე დაფუძნებული 2 მეთოდი რომელიც ხსნის რენდერის განტოლებას: MLT   - მეტროპილისის სინათლის ტრანსპორტირების ორიგინალი მეთოდი. PSSMLT - მეტროპოლისის სინათლის ტრანსპორტირება პირველადი შერჩევების სივრცეში.         ორივე მეთოდი საკმაორ ეფექტურია სინათლის ტრანსპორტირების რთულ ამოცანებში, ამასთან უნდა აღინიშნოს რომ PSSMLT -ში კელმანმა ძლიერ გაამარტივა ძირითადი აზრი მეტროპილისის მეთოდის რომლის შედეგადაც გზების პირდაპირი მუტაციის მაგივრდ მან შემოგვთავაზა გზის შესაბამისი პირველადი შერჩევების ვექტორის მუტაცია რაც იწვევს გზის მუტაციას ირიბად თუმცა ბევრად ამარტივებს მეთოდის იმპლემენტაციას. მიუხედავად იმისა რომ ორივე მეთოდი ერთ საერთო აზრს ეფუძნება მათი მუშაობის პრინციპიდან გამომდინარე ისინი სხვადასხვა სირთულეებს სხვადასხვანაირად უმკლავდებიან. მაშინ როდესაც MLT უმეტეს შემთხვევაში უკეთეს შედეგს იძლევა ვიდრე PSSMLT მას ძალიან უჭირს განათების დათვლა გლუვ(glossy) ზედაპირებზე რასაც PSSMLT საკმაოდ ეფექტურ...

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

Subsurface Scattering SSS მატერიალი C4d-ში( წყარო ).         მოცულობითი რენდერი ერთერთი ყველაზე რთული ნაწილია ფიზიკაზე დაფუძნებული რენდერის  და ის კიდევ უფრო რთული ხდება, როდესაც გამბნევი გარემო შემოსაზღვრულია ზედაპირით. ასეთ შემთხვევაში მრავალი მნიშვნელოვნობით შერჩევა (MIS) ვერ გვეხმარება, რადგან გამბნევ სივრცულ ნაწილაკებზე განათების შერჩევა უმეტეს შემთხვევაში უძლურია. განათება ზედაპირს გარეთ მდებარეობს და ერთადერთი შანსი, რომ განათებას მივაგნოთ არის ფაზური ფუნქციის შერჩევა(ანუ შემთხვევითად არეკვლა სივრცულ ნაწილაკზე). ასე რომ თუკი ზედაპირქვეშა სივრცულ ნაწილაკებზე მკვეთრი პირდაპირი განათება მოდის მხოლოდ უხეში ძალის მეთოდის (brute force) გამოყენებით ძალიან დიდ ხმაურს მივიღებთ და თუკი შემომსაზღვრელი ზედაპირი მეტნაკლებად სპეკულარულია და განათების წყარო კი პატარა მაშინ შეიძლება საუკუნეები დაჭირდეს რენდერის გასუფთავებას.         ზედაპირქვეშა გაბნევა ძალიან მოთხოვნადია საწარმოო რენდერერებში. ფიზიკაზე დაფუძნებული რენდერი რეალურ...

ალიასინგი და მეთოდები მის თავიდან ასაცილებლად

Aliasing and methods for anti aliasing რენდერი ალიასინგის ხარვეზებით და მის გარეშე. წყარო         რენდერში ალიასინგის ხარვეზები შესაძლებელია გამოწვეული იყოს 2 ძირითადი ფაქტორით: თუ რენდერერი არ ახდენს ინტეგრირებას პიქსელის შიგნით და აგენერირებს სხივებს მხოლოდ პიქსელის რაიმე შიდა ფიქსირებულ კოორდინატზე.  თუ სურათზე გვაქვს მაღალი ინტენსივობის მქონე რაღაცეები(ეს შეიძლება იყოს ანარეკლები, მანათობელი ობიექტები, ...) რომლებიც ნაწილობრიც ფარავენ პიქსელს. თუკი სხივების მიდევნების პროცესში კამერიდან მიმავალი სხივების გენერაცია მოხდება პიქსელის ერთი და იმავე ფიქსირებული წერტილისათვის მაშინ რამდენი შერჩევის აკუმულირებაც არ უნდა მოვახდინოთ რესულტატი ყოველთვის ერთი იქნება, თუმცა როდესაც მრავალ შერჩევას ვახდენთ პიქსელში პირველი პრობლემა ნაკლებად გვხვდება რენდერერებში, რადგან როგორც წესი ყოველი მათგანი ახგენს ინტეგრირებას პიქსელის შეგნით. (იხილეთ ქვემოთ მოცემული სურათი) პიქსელის შერჩევის მაგალითები: რეგულარული ბადე(მარცხენა) და დაძრული შერჩევები მარ...

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

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

მეტროპოლისის სინათლის ტრანსპორტირება პირველადი შერჩევების სივრცეში

PSSMLT         მეტროპოლისის სინათლის ტრანსპორტირების მეთოდი(MLT) ახდენს პირველადი წარმატებული გზების მცირედი მუტაციით ახალი გზების აგებას. ვიჩის მიერ ნაჩვენებ მეთოდში გზების მუტაციის რამოდენიმე ვარიანტია ნაჩვენები, რომლებიც გზის მუტაციას ახდენენ გზების სივრცეში.         იმისათვის რომ გავიგოთ PSSMLT მეთოდის მუშაობის პრინციპი უნდა გვესმოდეს თუ როგორ ხდება გზის აგება. თვალის გზის აგება იწყება პიქსელის შერჩევით, შემდეგ მოდის ლინზაზე წერტილის მონიშვნა, რომლის შემდეგაც გვაქვს სხივი და სცენასთან თანაკვეთის პოვნის შემდგომ ვახდენთ BSDF -ის შერჩევას რათა მივიღოთ მიმართულება საითაც გზა უნდა გაგრძელდეს და ასე ვაგრძელებთ სანამ არ მივაღწევთ სასურველ სიღრმეს ან მიმდინარე სხივი ყველაფერს არ აცდება. ამ პროცესის ყოველ ეტაპზე, მაგალითად პიქსელის შესაჩევად, ლინზაზე წერტილი შესარჩევად, BSDF -ის შესაჩევად და ა.შ. ჩვენ გვჭირდება ერთი ან რამოდენიმე შემთხვევითი რიცხვი, რაც ცალსახად განსაზღვრავს შერჩევის რეზულტატს. აქედან გამომდინარე ადვილი მისახვედრია, რომ ...

CPU და GPU-ს შედარება

     იგივე ფასის GPU- ს თუ შევადარებთ CPU- ს FLOPS-ებით(მცოცავმძიმიან რიცხვებზე ოპერაციები წამში) ვნახავთ, რომ GPU შესაძძლოა 10-ჯერ ჯობნიდეს CPU- ს(რასაც საკმაოდ ხშირად აკეთებენ მომხმარებლისთვის თვალის ასახვევად), თუმცა განსხვავებული არქიტექტურის გამო  CPU და GPU -ს შედარება FLOPS- ებით არაა გამართლებული. მათი უკეთ შედარება რომ შევძლოთ განვიხილოთ ამ პროცესორების არქიტექტურა.         CPU -ებს აქვთ მძლავრი ბირთვები( 2.0-3.0GHz და მეტი) და ასევე აქვთ ბირთვებზე SIMD რეგისტრები, რომლებიც ერთ პროცესორულ ციკლზე მრავალ მონაცემზე ერთი ინსტრუქციის შესრულების საშუალებას იძლევა. SIMD რეგისტრების სიგანე შეზღუდულია, მაგალითად თანამედროვე პროცესორებში შესაძლებელია ოპერაციები შესრულდეს 4, 8, 16 float -ზე ერთდროულად. ასევე CPU- ები გამოირჩევიან რამოდენიმე დონიანი კეშებით, რომლებიც ოპერატიული მეხსიერებიდან პროცესორის რეგისტრებში ინსტრუქციებისა და მონაცემების გადაცემას აჩქარებს. თანამედროვე პროცესორებს ასევე აქვთ ბევრი შიდა ოპტიმიზაცია (როგორიცაა მაგალითა...