Blinn specular reflection model
ბლინის სპეკულარული არეკვლის მოდელი არის ემპირიული მოდელი, რომელიც ითვლის განათების სპეკულარულ წილს იზოტროპული ზედაპირის ლოკალურ წერტილში. ის წარმოადგენს ფონგის მოდელის მოდიფიცირებულ ვარიანტს, რომელიც შეიმუშავა ჯიმ ბლინმა, სახელწოდებაც სწორედ მისი გვარიდან მოდის. ამის გამო ამ მოდელს ხშირად ბლინ-ჰონგის მოდელსაც ეძახიან.
ფონგის მოდელისგან განსხვავებით ბლინის მოდელი ითვლის განათების(L) მიმართულებასა და დამკვირვებლის(V) მიმართულების საშუალო მიმართულებას(H) და და ამბობს, რომ სპეკულარული განათება პირდაპირპროპორციულად არის დამოკიდებული N და H ვექტორებს შორის მდებარე Θ კუთხის კოსინუსზე. ზედაპირის სიგლუვის s კოეფიციენტი აქაც ხარისხის მაჩვენებლად ჯდება, ისევე როგორც ფონგის მოდელში.
ფონგის მოდელისგან განსხვავებით ბლინის მოდელი ითვლის განათების(L) მიმართულებასა და დამკვირვებლის(V) მიმართულების საშუალო მიმართულებას(H) და და ამბობს, რომ სპეკულარული განათება პირდაპირპროპორციულად არის დამოკიდებული N და H ვექტორებს შორის მდებარე Θ კუთხის კოსინუსზე. ზედაპირის სიგლუვის s კოეფიციენტი აქაც ხარისხის მაჩვენებლად ჯდება, ისევე როგორც ფონგის მოდელში.
ქვემოთ მოვემულია ფუნქცია რომელიც ითვლის სპეკულარულ განათებას ბლინის მეთოდით. ფუნქციას გადაეცემა N, V, L ვექტორები და s სპეკულარული ექსპონენტი და ის აბრუნებს სპეკულარული განათების წილს
.
double BlinnPhongShading( const Vector3& N, const Vector3& V, const Vector3& L, double s )
double BlinnPhongShading( const Vector3& N, const Vector3& V, const Vector3& L, double s )
{
Vector3 H = (L + V).normalize();
return pow( max( 0.0, dot( H, N ) ), s );
}
ბლინის მოდელი, ისევე როგორც ფონგის მოდელი, მოითხოვს მცირე გამოთვლით რესურსს და არის ყველაზე გავრცელებული განათების მოდელი რეალურ დროში მომუშავე გრაფიკული აპლიკაციებისთვის. სწორედ ამ მოდელს იყენებენ OpenGL და DirectX ძრავები სპეკულარული განათების დასათვლელად.
Comments
Post a Comment