Skip to main content

Posts

Showing posts with the label CG

რეზერვუარის შერჩევა

Reservoir Sampling         მაგალითად გვაქვს ამოცანა. გვსურს n ელემენტიან მიმდევრობაში (x 0 , x 1 , ... x n)  ერთი ელემენტის შერჩევა შემთხვევითად, თანაბარი განაწილებით. როდესაც n-ის მნიშვნელობა ცნობილია ეს ამოცანა არის უმარტივესი. ჩვენ უბრალოდ შევარჩევთ ინდექსს j-ს 0-დან და n-მდე დიაპაზონში თანაბრად რაც ცალსახად მოგვცემს x j -ს ელემენტს მიმდევრობაში, რომლის შერჩევის ალბათობაც  იქნება 1/n. როგორ შეიძლება ეს ამოცანა ამოვხსნათ თუკი მიმდევრობაში ელემენტების რაოდენობა ცნობილი არ არის, თუკი ელემენტებს ვკითხულობთ როგორც ნაკადს და დროის ერთ მონაკვეთში მხოლოდ ერთ ელემენტზე გვაქვს წვდომა? ასეთ შემთხვევაში ცხადია მარტივი მეთოდი უკვე აღარ მუშაობს და პრობლემა სხვანაირად უნდა გადაიჭრას.          რეზერვუარის შერჩევა არის მეთოდი, რომელიც საშუალებას გვაძლებს შევარჩიოთ ელემენტი n ზომის ელემენტების ნაკადში სადაც n-ის მნიშვნელობა ცნობილი არ არის. მაგალითად შესაძლოა, რომ n ელემენტი მეხსიერებაში ერთად არ გვეტევა და ამისათვის ელემენტებს ნელ-ნელა ვტვირთავთ მეხსიერებაში ან უბრალოდ დროის მოცემული მომენტისათვის

მოწყობილობაზე აჩქარებული სხივების მიდევნება

  Hardware accelerated ray tracing         საუკინე გავიდა ჩემი ბოლო პოსტიდან ამ ბლოგზე. ვეცდები გავაცოცხლო ბლოგი ნელ-ნელა პატარა პოსტებით საინტერესო თემებზე :) ახლა რაც შეეხება უშუალოდ მოწყობილობაზე აჩქარებულ სხივების მიდევნებას . პარატა ისტორიულ შესავალს გავაკეთებ         სხივების მიდევნების მეთოდი ახალი არაა, 60-იან წლებში მიიქცია ყურადღება, 80-იანებში ჯეიმს კაჯიამ რენდერის განტოლება დაწერა და პირველი ნათელი დემონსტრირება მოახდინა მეთოდის შესაძლებლობისა თუმცა მალევე ნათელი გახდა, რომ მეთოდს დიდი გამოთვლითი რესურსი სჭირდებოდა. რას იზამდნენ მოგეხსენებათ იმ დროინდელი კომპიუტერის შესაძლებლობები, ასე რომ ადგნენ და მეთოდი კარადის ზედა თაროზე შემოდეს და ცოტა ხნით დაივიწყეს. პერსონალური კომპიუტერის გამოჩენიდან მალევე გამოჩნდნენ ვიდეო ბარათები, რომლებიც ეხმარებოდნენ ცენტრალურ პროცესორს გრაფიკულ გამოსახულებასთან სამუშაოდ. ისტორიული მიზეზებიდან გამომდინარე იმ პერიოდისთვის არსებული აპლიკაციების დიდი ნაწილი არ მოითხოვდა საჭიროებას რეალისტირუ ვიზუალიზაციისა შესაბამისად შეიქმნა და დამუშავდა რასტე

გაუსის ანიზოტროპული მუტაციები MLT-სათვის ჰესენ-ჰამილტონისეული მექანიკის გამოყენებით

Anisotropic Gaussian Mutations for Metropolis Light Transport through Hessian-Hamiltonian Dynamics სურათზე ნაჩვენებია სააბაზანოს სცენის 10 წუთის რენდერის შედეგი. მარჯვნივ საბოლოო შედეგი და ასევე H2MC -ს შედარება სხვა MLT მეტოდებთან.           იმის მიუხედავად, რომ MLT უკვე დიდი ხანია რაც არსებობს მისი გამოყენება საწარმოო რენდერერებში(octane, iRay, Maxwell, Orion) მაინც ძალიან შეზღუდულად ხდება. MLT -ს დიდი უპირატესობა მის სიმარტივეშია, ლაპარაკია არა იმპლემენტაციის სიმარტივეზე არამედ მუშაობის პრინციპის სიმარტივეზე და ასევე იმაში, რომ ის ხსნის ზოგად ამოცანას. რენდერის სხვა მეთოდებისაგან განსხვავებით სადაც გვხვდება მნიშვნელოვნობით შერჩევის უამრავი სხვადასხვა მიდგომა რენდერის განტოლების პატარა ზომის ქვეინტეგრალების ეფექტურად ამოსახლნელად MLT იყენებს ერთ მეთოდს, რომელიც რენდერის განტოლების სხვადასხვა ქვეინტეგრალებს ერთნაირად ეფექტურად ხსნის. მისი შეზღუდული დოზით გამოყენება საწარმოო რენდერერებში განპირობებულია რამოდენიმე ფაქტორით: მას ხმაურის ნაცვლად ახასიათებს კორელაცია. ხმაურის

ხმაურის მომშორებელი

denoiser         მონტე კარლო რენდერერებში ხმაურის შემცირება ძალიან მტკივნეული პროცესია. მაგალითად იმისათვის, რომ არსებულ რენდერში ხმაური 2-ჯერ შემცირდეს საჭიროა შერჩევების რაოდენობა 4-ჯერ გავზარდოთ. მოკლედ რამდენადაც მონტე კარლოს მეთოდი კარგია იმ თვალზაზრისით, რომ პირველ შედეგს ძალიან მალე გვაწვდის იმდენადვე ცუდია რადგან ნელა უახლოვდება საბოლოო ამონახსნს. როგორც უკვე ვთქვით, თუკი კადრის რენდერს მოწყობილობა მოუნდა მაგალითად 10 საათს და ჩვენ კიდევ არ ვართ კმაყოფილი რადგან ხმაური კვლავ შესამჩნევია დამოდის, რომ ხმაურის 2-ჯერ შესამცირებლად რენდერს 40 სთ უნდა დაველოდოთ რაც ძალიან, ძალიან დიდი დროა და უბრალოდ მოუღებელია მომხმარებლებისათვის. სწორედ ამ პრობლემის გადასაჭრელად არსებობენ ხმაურის მომშორებლები(დენოისერები). მისი გამოყენება ხდება რენდერის ბოლოს რათა გამოსახულება დარჩენილი ხმაურისგან გავწმინდოთ.         ხმაურის მომშორებლების იმპლემენტაციის სხვადასხვა გზები არსებობს თუმცა დღესდღეობით უდაო ლიდერად ღრმა დასწავლაზე დაფუძნებული კონვოლუციური ნეირონული ქსელი მიიჩნევა. ქსელის სწავლებ

კამერის ეფექტები

Camera Effects         'კამერის ეფექტები' როგორც მას ხშირად მოიხსენიებენ რეალურად წარმოადგენს არასასურველ გვერდით ეფექტებს, რომლებიც განპირობებულია ფიზიკური კამერის სხვადასხვა ასპექტებით. მიუხედავად იმისა რომ მსგავსი ეფექტები რეალურ კამერაში არასასურველ ეფექტებს წარმოადგენს რენდერერში ის მაინც გვხვდება რადგან ის რეალიზმის განცდას გვმატებს.         მაგალითისათვის განვიხილავთ ყველაზე გავრცელებულ კამერის ეფექტებს: ბრწყინვა (Bloom, Glow) - არის ეფექტი რომელიც განპირობებულია ლინზის არაიდეალური ზედაპირით. ლინზის ზედაპირები თეორიულად უნდა იყოს იდეალურად სპეკულარული რაც იმას ნიშნავს, რომ ისინი უნდა გარდატეხდნენ სხივებს თუმცა არ უნდა აბნევდნენ რაც სინამდვილეში ასე არაა. ლინზის ზედაპირზე გვხვდება როგორც მცირე ზომის მტვრის ნაწილაკები ასევე ნაკაწრები, ნათითურები და ა.შ რაც კამერაში მომავალ სხივებს აბნევს და ირეკლავს არასასურველი მიმართულებით. ეს ეფექტი ძირითადად შესამჩნევი სასურათე სიბრტყეზე დიდი ინტენსივობის მქონე განათების გარშემო. (იხილეთ ზემოთ მოცემული სურათი). კაშკაში (Gla

ვირტუალური სხივური განათებები

Virtual Ray Lights         ვირტუალური სხივური განათებების მეთოდი ( VRL ) ახდენს განათების გამოთვლას სივრცულ გარემოში მიუკერძოვებლად. განსხვავებით VPL -ისაგან, რომელიც ახდენს წერტოლოვანი განათებების შექმნას სივრცეში, ვირტუალურ სხივურ განათებებში განათებებს წარმოადგენენ არა გაბნევის ხდომილებაზე შექმნილი წერტილები, არამედ სინათლის გზის სეგმენტები. ვირტუალური სხივური განათების მეთოდი გვეხმარება სივრცულ ნაწილაკებზე გაბნეული განათების დათვლაში. რადგან სინათლის გზის სეგმეტზებზე არსებულ სივრცულ ნაწილაკებზე ხდება სინათლის გარეთ გაბნევა  ისინი შეგვიძლია წარმოვიდგინოთ როგორც მანათობელი სეგმენტები. VPL -ვირტუალური წერტილოვანი განათებები(მარცხენა) და VRL -ვირტუალური სხივური განათებები(მარჯვენა).         VPL -სგან განსხვავებით VRL -ში პირდაპირი განათების გამოთვლა ხდება ორმაგი ინტეგრალის საშუალებით.         მოცემული ნახაზიდან კარგად ჩანს, რომ გამბნევი u და v ნაწილაკების მონიშვნა ხდება შესაბამისად დამკვირვებლის სხივზე(s) და ვირტულაურ სხივურ განათებაზე(t), ხდება გამტარობის დათვლა v

შემომსაზღვრელი ყუთების ორდონიანი იერარქია

Two-Level BVH წყარო         გზების/სხივებით მიდევნებაზე დაფუძნებულ მეთოდებში BVH წარმოადგენს ამაჩქარებელ სტრუქტურას, რომელიც ინახავს ინფორმაციას გეომეტრიული პრიმიტივების სივრცული მდებარეობის შესახებ. თუკი გვსურს ანიმაციური სცენის რენდერი სადაც ობიექტები კადრიდან კადრზე იცვლიან ფორმას/მდებარეობას BVH განახლება აუცილებელი ხდება, რადგან მასში არსებული ინფორმაცია ძველდება და ასევე განახლებას საჭიროებს. როგორც უკვე ვიცით არსებობს BVH -ის აგების/განახლების სხვადასხვა მეთოდები , რომლებიც განსხვავდებიან ერთმანეთისაგან აგებისთვის საჭირო დროით და აგებული ხის ხარისხით. როგორც ზემოთ აღვნიშნეთ BVH -ის აგების დრო ჩვენთვის მნიშველოვანია განსაკუთრებით ანიმაციური სცენებისათვის, ხოლო ხის ხარისხი პირდაპირ განსაზღვრავს რენდერის დროს, თუმცა იქიდან გამომდინარე თუ რის მიღწევას ვცდილობთ შესაძლოა პირველი ან მეორე უფრო მნიშვნელოვანი იყოს ჩვენთვის.         ასევე ხშორად მნიშვნელოვანია, რომ დინამიური და სტატიკური გეომეტრია ერთმანეთისაგან მკაფიოდ იყოს გამიჯნული. ეს სხვადასხვა ტიპის ოპტიმიზაციების საშუალე

კომპოზიცია უკანა ფონზე

Backplate Compositing         წარმოვიდგინოთ გვაქვს ფოტოკამერით გადაღებული სურათი, რომელზეც რაიმე სცენაა ასახული მასზე არსებული სხვადასხვა  ობიექტებით და ჩვენ გვსურს, რომ ჩვენი რაიმე ვირტუალური  3D ობიექტი ჩავსვათ ამ სცენაში და დავარენდეროთ  ისე, რომ ის ბუნებრივად მოერგოს გარემოს და შესაბამისად შეიქმნას განცდა თითქოს ის მართლაც იმ გარემოში იყო სურათის გადაღებისას. ეს ამოცანა საკმაოდ მოთხოვნადია სხვადასხვა ტიპის ოფლაინ თუ ონლაინ რენდერერებში. ამ პრობლემის გადასაჭრელად არსებობს რამოდენიმე მიდგომა: პირველი როდესაც ჩვენ გვსურს საბოლოო გამოსახულების მიღება მთლიანად რენდერერის შიგნით. ასეთ შემთხვევაში ჩვენ რენდერერს ვაძლევთ როგორც სცენას ასევე ფონურ გამოსახულებას ხოლო ის აბრუნებს სურათს სადაც მითითებული ვირტუალური ობიექტი მოცემულ ფონურ სურათზე არსებულ გარემოშია მოთავსებული.  მეორე როდესაც რენდერერი იძლევა სურათს რომელზეც მოცემულია ჩვენი მითითებული ვირტუალური ობიექტი ხოლო სურათის დანარჩენი ნაწილი ძირითადად გამჭვირვალეა. ასეთ შემთხვევაში მიღებული ნახევრადგამჭვირვალე სურათი შეგვიძლ

განათების პორტალი

Light Portal წყარო         ცალმხრივი გზების მიდევნების მეთოდისათვის განათების ოპტიმალური შერჩევა არის ერთ-ერთი უმნიშვნელოვანესი ფაქტორი რენდერის პროცესში. როგორც უკვე ვიცით  როდესაც განათების წყარო პატარაა  მხოლოდ BSDF -ის შერჩევით გზების მიდევნება ძალიან არაეფექტურია. ასეთ შემთხვევაში MIS -ის საშუალებით განათების და BSDF -ის შერჩევების გაერთიანება ბევრად კარგ შედეგს იძლევა. უნდა აღინიშნოს, რომ განათების შერჩევის მეთოდის ეფექტურობა ასევე დამოკიდებულია განათების ხილვარობაზე და იმ შემთხვევაში, როდესაც შერჩეულ განათებას შეფერადების წერტილიდან რაიმე ეფარება ამ განათების შერჩევაზე დახარჯული რესურსი ფაქტიურად გაფლანგულია. მაგალითად გვაქვს სცენა ერთი გარემომცველი განათებით, ასევე გვაქვს გეომეტრია, ფანჯრებიანი ოთახი, კამერა მოთავსებულია ოთახში, შესაბამისად განათება რომელიც მოდის გარედან მხოლოდ ფანჯრის გავლით აღწევს ოთახში და ხვდება კამერაში. ეს განსაკუთრებით რთულ შემთხვევას წარმოადგენს, რადგან BSDF-ის შერჩევა ხშირ შემთხვევაში წარუმატებლად მთავრდება, რადგან რენდერერი ვერ პოულობს ოთახიდა

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

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) გამოყენებით ძალიან დიდ ხმაურს მივიღებთ და თუკი შემომსაზღვრელი ზედაპირი მეტნაკლებად სპეკულარულია და განათების წყარო კი პატარა მაშინ შეიძლება საუკუნეები დაჭირდეს რენდერის გასუფთავებას.         ზედაპირქვეშა გაბნევა ძალიან მოთხოვნადია საწარმოო რენდერერებში. ფიზიკაზე დაფუძნებული რენდერი რეალურ გარემოში არსებული მასალებისა, როგორიცაა მაგალითად ადა