Skip to main content

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

Illumination Model

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


        სურათზე ნაჩვენებია გეომეტრიოლი მოდელი რომელიც მოცემული განათების ძირითადი მახასიათებლებით. მარცხნიდან მარჯვნივ პირველ 3 სურათზე ნაჩვენებია მოდელი შესაბამისად გარე(Ambient), გაბნეული(Diffuse) და არეკლილი(Specular) განათების მახასიათებლებით, ხოლო მეოთხე სურთზე სამივე კომპონენტის საშუალებით. ადვილი მისახვედრია რომ საბოლოო განათება მიიღება თითოეული კომპონენტის შეჯამებით.
        განვიხილოთ თიტოეული კომპონენტის გამოთვლის წესი:
        გარე განათების(ambient light) გამოთვლა არ ხდება, როგორც ზემოთ ითქვა მას არ გააჩნია კონკრეტული მიმართულება, ის უბრალოდ ასახავს განათების მინიმალურ ოდენობას სცენაში.
        გაბნეული განათება ითვლება განათების მიმართულებისა(L) და ობიექტის ზედაპირის მიმართულებას(N) შორის არსებული ალფა კუთხის საფუძველზე. თუ კუთხე არის 0-თან ახლოს მაშინ განათება არის მაქსიმალური, ალფა კუთხის ზრდა იწვევს გაბნეული განათების მახასიათებლის შემცირებას. როდესაც ალფა არის 90 გრადუსი განათების მაჩვენებელი არის  0-ის ტოლი. შეგვიძლია სიმარტივისათვის ვთქვათ რომ კუთხის მიმართება განათების მაჩვენებელთან არის წრფივი, თუმცა ხშირ შემთხვევაში განათების მოდელები მათ მიმართებას ახასიათებენ კოსინუს ფუნქციით. საბოლოოდ ვიღებთ, რომ Idiffuse = max( cos(a), 0 );



        არეკლილი განათების გამოთვლა ხდება იმ კუთხის საფუძველზე, რომელსაც ადგენს არეკლილი სხივი დამკვირვებლის მიმართულებასთან. ისევე როგორც გაბნეული განათების შემთხვევაში, როდესაც კუთხე 0-ის ტოლია განათების მაჩვენებელი მაქსიმალურია, როდესაც კუთხე იზრდება განათების მაჩვენებელი კლებულობს. აქ უკვე შემოდის კიდევ ერთი მაჩვენებელი რომელიც ახასიათებს არეკლილ განათებას, ეს არის სიკაშკაშე(shininess). სიკაშკაშე განაპირობებს თუ კუთხის რა დიაპაზონში მოქმედებს არეკლილი განათება. საბოლოოდ ვიღებთ, რომ Ispecular = pow( max( cos( y ), 0 ), shininess );

        როგორც უკვე ვთქვით, საბოლოოდ განათების გამოთვლა ხდება თითოეული კომპონენტის შეჯამებით:
I = Iambient + Idiffuse + Ispecular

Comments

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