{"id":265,"date":"2009-11-19T06:04:13","date_gmt":"2009-11-18T21:04:13","guid":{"rendered":"http:\/\/clockmaker.jp\/blog-en\/?p=265"},"modified":"2009-11-19T06:04:13","modified_gmt":"2009-11-18T21:04:13","slug":"pv3d-custom-flat-shader","status":"publish","type":"post","link":"http:\/\/clockmaker.jp\/blog-en\/2009\/11\/pv3d-custom-flat-shader\/","title":{"rendered":"[PV3D] Custom Flat Shader"},"content":{"rendered":"<p class=\"photo\"><a rel=\"shadowbox;width=720; height=480;\" href=\"http:\/\/clockmaker.jp\/labs\/091118_pv3d_myshader\/main.swf\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2468\" title=\"Flat Shader\" src=\"http:\/\/clockmaker.jp\/blog\/wp-content\/uploads\/2009\/11\/091118-storn.jpg\" alt=\"Flat Shader\" width=\"460\" height=\"200\" \/><\/a><\/p>\n<p>This is Papervision3D 2.1 demo. I try to run faster flat shading.<\/p>\n<ul>\n<li><a rel=\"shadowbox;width=720; height=480;\" href=\"http:\/\/clockmaker.jp\/labs\/091118_pv3d_myshader\/main.swf\">demo<\/a><\/li>\n<li><a href=\"http:\/\/clockmaker.jp\/labs\/091118_pv3d_myshader\/Main.txt\">source<\/a><\/li>\n<\/ul>\n<p>Main logic is these steps.<\/p>\n<p>[1] make Array of BitmapData as chache<\/p>\n<p>[2] check z-axis of all\u00a0faces<\/p>\n<p>[3] calculate radian between z-axis of face and z-axis of target direction<\/p>\n<p>[4] replace bitmap from cache data depend on radian.<\/p>\n<p><!--more--><\/p>\n<h3>Compare Flat Shading<\/h3>\n<p>Case of Build-in FlatShader<\/p>\n<p><a href=\"http:\/\/clockmaker.jp\/blog\/wp-content\/uploads\/2009\/11\/091118-flatshader.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2469\" title=\"091118-flatshader\" src=\"http:\/\/clockmaker.jp\/blog\/wp-content\/uploads\/2009\/11\/091118-flatshader-460x323.png\" alt=\"091118-flatshader\" width=\"460\" height=\"323\" \/><\/a><\/p>\n<p>Case of Custom Flat Shading<\/p>\n<p><a href=\"http:\/\/clockmaker.jp\/blog\/wp-content\/uploads\/2009\/11\/091118-my_flatshader.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2470\" title=\"091118-my_flatshader\" src=\"http:\/\/clockmaker.jp\/blog\/wp-content\/uploads\/2009\/11\/091118-my_flatshader-460x323.png\" alt=\"091118-my_flatshader\" width=\"460\" height=\"323\" \/><\/a><\/p>\n<p>detail description is posted at <a href=\"http:\/\/clockmaker.jp\/blog\/2009\/11\/papervision3d-flatshader\/\">Japanese blog<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is Papervision3D 2.1 demo. I try to run faster flat shading. demo source Main logic is these steps. [1] make Array of BitmapData as chache [2] check z-axis of all\u00a0faces [3] calculate radian between z-axis of face and z-axis of target direction [4] replace bitmap from cache data depend on radian.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-265","post","type-post","status-publish","format-standard","hentry","category-pv3d-2x"],"_links":{"self":[{"href":"http:\/\/clockmaker.jp\/blog-en\/wp-json\/wp\/v2\/posts\/265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clockmaker.jp\/blog-en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clockmaker.jp\/blog-en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clockmaker.jp\/blog-en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/clockmaker.jp\/blog-en\/wp-json\/wp\/v2\/comments?post=265"}],"version-history":[{"count":0,"href":"http:\/\/clockmaker.jp\/blog-en\/wp-json\/wp\/v2\/posts\/265\/revisions"}],"wp:attachment":[{"href":"http:\/\/clockmaker.jp\/blog-en\/wp-json\/wp\/v2\/media?parent=265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clockmaker.jp\/blog-en\/wp-json\/wp\/v2\/categories?post=265"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clockmaker.jp\/blog-en\/wp-json\/wp\/v2\/tags?post=265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}