{"id":1944,"date":"2015-01-23T21:12:00","date_gmt":"2015-01-23T21:12:00","guid":{"rendered":"http:\/\/www.spellcasterstudios.com\/?p=1944"},"modified":"2015-01-20T13:17:39","modified_gmt":"2015-01-20T13:17:39","slug":"computing-a-basis","status":"publish","type":"post","link":"https:\/\/www.spellcasterstudios.com\/?p=1944","title":{"rendered":"Computing a basis"},"content":{"rendered":"<p align=\"justify\">For the SSAO, we have to compute a basis for the points to be able to do the random sampling\u2026<\/p>\n<p align=\"justify\">My linear algebra was a bit rusted, but I found the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Gram%E2%80%93Schmidt_process\">Gram-Schmidt process<\/a> to be useful for this. Basically it creates a geometric orthogonal from vectors, which define a local space, in my case aligned along the normal vector of the surface.<\/p>\n<p align=\"justify\">Displaying the tangent vector with the noise included, I get something like this:<\/p>\n<p align=\"justify\"><a href=\"http:\/\/www.spellcasterstudios.com\/wp-content\/uploads\/2015\/01\/screen391.jpg\" class=\"thickbox\"><img loading=\"lazy\" decoding=\"async\" title=\"screen391\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" alt=\"screen391\" src=\"http:\/\/www.spellcasterstudios.com\/wp-content\/uploads\/2015\/01\/screen391_thumb.jpg\" width=\"830\" height=\"482\" \/><\/a><\/p>\n<p>It looks a bit silly, but it makes total sense when you map the colors to actual vectors, which shows the AO process is going nicely so far\u2026<\/p>\n<p><em>Now listening to \u201cParis Kills\u201d by \u201cThe 69 Eyes\u201d<\/em><\/p>\n<p><em>Link of the Day: Another excelent documentary by \u201cAhoy\u201d, now focusing on the history of the open world games:<\/em><\/p>\n<div id=\"scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:b77a05d6-9917-46e4-a792-f0c731360304\" class=\"wlWriterEditableSmartContent\" style=\"float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px\">\n<div><object width=\"448\" height=\"252\"><param name=\"movie\" value=\"http:\/\/www.youtube.com\/v\/EdV_2svrDVc?hl=en&amp;hd=1\"><\/param><embed src=\"http:\/\/www.youtube.com\/v\/EdV_2svrDVc?hl=en&amp;hd=1\" type=\"application\/x-shockwave-flash\" width=\"448\" height=\"252\"><\/embed><\/object><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>For the SSAO, we have to compute a basis for the points to be able to do the random sampling\u2026 My linear algebra was a bit rusted, but I found the Gram-Schmidt process to be useful for this. Basically it creates a geometric orthogonal from vectors, which define a local space, in my case aligned [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,147,8],"tags":[254,255,253],"class_list":["post-1944","post","type-post","status-publish","format-standard","hentry","category-development","category-chrome-hunter","category-technology","tag-ambient","tag-occlusion","tag-ssao"],"_links":{"self":[{"href":"https:\/\/www.spellcasterstudios.com\/index.php?rest_route=\/wp\/v2\/posts\/1944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.spellcasterstudios.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.spellcasterstudios.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.spellcasterstudios.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.spellcasterstudios.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1944"}],"version-history":[{"count":1,"href":"https:\/\/www.spellcasterstudios.com\/index.php?rest_route=\/wp\/v2\/posts\/1944\/revisions"}],"predecessor-version":[{"id":1945,"href":"https:\/\/www.spellcasterstudios.com\/index.php?rest_route=\/wp\/v2\/posts\/1944\/revisions\/1945"}],"wp:attachment":[{"href":"https:\/\/www.spellcasterstudios.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.spellcasterstudios.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.spellcasterstudios.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}