Skip to main content

გარემომცველი წინაღობა

Ambient Occlusion
სურათზე ნაჩვენებია საკლასო ოთახი გარემომცველი წინაღობით და მის გარეშე(გაბნეული განათებით). სურათი აღებულია aaa-studio-ს საიტიდან.  
        როგორც ვიცით გლობალური განათების დათვლის პროცესში მთავარ პრობლემას ირიბი განათების დათვლა წარმოადგენს. ირიბი ეწოდება იმ განათებას, რომელიც პირდაპირ სინათლის წყაროდან არ მოდის. მაშინ, როდესაც რენდერის დრო უფრო მნიშვნელოვანია ვიდრე ხარისხი ცდილობენ ირიბი განათების კორექტულ დათვლას თავი აარიდონ. ამ პრობლემის ერთ-ერთ გადაწყვეტას წარმოადგენს გაბნეული განათება(Ambient Light), რომელიც შემოგვაქვს სცენაში და ვიძახით, რომ ის ყველგანაა, მას არ გააჩნია პოზიცია და მიმართულება. გაბნეული განათების შემოღება დაგვეხმარება გავანათოთ სცენის ის წერტილები, სადაც სინათლის წყაროდან წამსული განათება პირდაპირ ვერ აღწევს, თუმცა მათი განათება მოხდება თანაბრად, ყველგან ერთნაირად, რაც რა თქმა უნდა რეალობისგან შორსაა.
        გარემომცველი წინაღობა(თარგმანი შესაძლოა არ იყოს სწორი, ინგლისურად Ambient Occlusion) წარმოადგენს ირიბი განათების მიახლოვების კიდევ ერთ მეთოდს, რომელიც წინამორბედისგან განსხვავებით გამოსათვლელად უფრო რთულია, თუმცა ბევრად უფრო უკეთესს შედეგს იძლევა.
        მეთოდი ამბობს ასეთ რამეს, რომ ზედაპირის რაიმე x წერტილის სიახლოვეს(რაიმე ფიქსირებულ r რასიუსში) თუ არ ექცევა სხვა გეომეტრია, მაშინ ამ წერტილამდე მოსასვლელ გაბნეულ განათებას ხელს არაფერი უშლის, ხოლო მოცემულ r რადიუსში რაც უფრო მეტი დაბრკოლებაა მის სიახლოვეს მით უფრო ნაკლებად აღწევს გაბნეული განათება მასთან. გარკვეულ შემთხვევებში შესაძლოა ეს ასეც იყოს თუმცა რეალობისგან და კორექტულობისგან ეს თეორია შორსაა, თუმცა შედეგი საინტერესოა.

        იმისათვის რომ დავითვალოთ თუ რამდენად დიდია წერტილის გარშემო დაბრკოლება ისევ მონტე-კარლოს მეთოდი  გვეხმარება. უნდა დავაგენერიროთ შემთხვევითად მიმართული სხივები x წერტილიდან ნორმალის მხარეს მიმართულ ნახევარსფეროში(იხილეთ სურათი) და თითოეული მათგანისთვის უნდა დავითვალოთ თანაკვეთა სცენასთან, შესაბამისად უნდა დავადგინოთ ის მიმართულებები რომელი მიმართულებითაც არის დაბრკოლება(r მანძილში) და მათთვის გამოვთვალოთ საშუალო მანძილი. მონტე კარლოს მეთოდიდან ვიცით რომ რაც უფრო გავძრდით შერჩევების რაოდენობას(AO სხივებს) მით უფრო სუფთა შედეგს მივიღებთ, შესაბამისად მეთოდს გააჩნია 2 ძირითადი პარამეტრი: დაბრკოლებების ძებნის რადიუსი და შერჩევების რაოდენობა. როგორც მონტეკარლოზე დაფუძნებულ ყველა მეთოდს მასაც ახასიათებს ხმაური, ამიტომ ხმაურის შესამცირებლად სხივების გენერაციისას კარგი იქნება თანაბარი შერჩევის ნაცვლად თუ გამოვიყენებთ შრეებად შერჩევას ან პუასონის დისკის შერჩევას.
        მაშინ, როდესაც სხივების მიდევნებას ვახდენთ ამაცქარებელ სტრუქტურაში დალაგებულად(ახლოდან შორს)  შეგვიძლია ვაკონტროლოთ სხივის მიდევნების მაქსიმალური მანძილი, რაც გვაძლევს საშუალებას, რომ სხივის მიდევნების პროცესი შევწყვიტოთ r რადიუსის გავლის შემდეგ, რაც ბევრად გააადვილებს მეთოდს. შესაბამისად მეთოდის მუშაობის დრო ორივე პარამეტრზე დამოკიდებულია პირდაპირპროპორციულად.

Comments

  1. ეს ის რბილი ჩრდილებია ხომ მე რომ შევჩერდი? : /

    ReplyDelete
  2. არა, ეს ეფექტია უბრალოდ რომელიც გამოიყებენა ირიბი განათების დათვლის მაგივრად და ბევრად უკეთეს შედეგს იძლევა ვიდრე უბრალო გაბნეული განათება(Ambient Light), თან საკმაოდ სწრაფია და რეალურ დროშიც ხდება მისი დათვლა, ასევე შესაძლებელია სტატიკური გეომეტრიისთვის შენახვა ტექსტურებში და ა.შ. თამაშებში აქტიურად გამოიყენება

    ReplyDelete

Post a Comment

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 განსხვავებულ ფერს.