{"id":295,"date":"2008-01-25T17:10:57","date_gmt":"2008-01-25T21:10:57","guid":{"rendered":"http:\/\/www.rakkar.org\/blog\/?p=295"},"modified":"2008-01-25T17:10:57","modified_gmt":"2008-01-25T21:10:57","slug":"reflection-failure","status":"publish","type":"post","link":"https:\/\/rakkar.org\/blog\/index.php\/2008\/01\/25\/reflection-failure\/","title":{"rendered":"Reflection failure :("},"content":{"rendered":"<p>\t\t\t\tI feel pretty bad. For two weeks I have been trying to get reflective floors working in Gamebryo. At first I tried just rendering from a different camera angle. It never really worked. So I next looked into portals. But after a couple of days where I actually figured them out, I emailed support to clarify some questions and they said that portals were just for culling, and were not true portals. So then I found a sample where they have reflection. But the code was split among 3 files.  So I extracted the part I wanted out but it didn&#8217;t work. It took me a couple of days to get a pink texture floor. Then a week to get a texture that moved with the camera, but was distorted and totally wrong. Then I updated the code after not looking at reflection for a couple of days and I couldn&#8217;t even get the texture to update anymore.<\/p>\n<p>So I threw in the towel and told the boss to give it to someone else with more graphics experience.<\/p>\n<p>* EDIT * Gamebryo support was helpful through this process. This shouldn&#8217;t be taken as a knock against Gamebryo, just my own lack of graphics knowledge. * END EDIT *<\/p>\n<p>While the world doesn&#8217;t need another graphics engine, these experiences motivate me to continue work on Rak3D. There&#8217;s two features I want to have that I haven&#8217;t seen before:<\/p>\n<p>1. Rather than letting users program most features themselves via low-level constructs, Rak3D would include every feature I can imagine, in modular classes. So reflection would be one line of code, the shader would be a multi-part super-shader that does normal, parallax, light mapping, etc. This would be organized into a two-level system, low and high. The low level system is typical of what you see in 3D engines right now. The high level system is like RakNet&#8217;s plugins, where they expose direct features. What I like about this is stuff just works, there is no debugging needed.<\/p>\n<p>2. A big problem I have is stuff just doesn&#8217;t show up and I have absolutely no idea why (as above). I want to include an interactive on-screen debugger where I can look at my scene heirachy as a tree, which will indicate with colors what is visible. And I can select any object and get full details on it, esp. why it is not visible on screen, or why it is using a default or missing texture.\t\t<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I feel pretty bad. For two weeks I have been trying to get reflective floors working in Gamebryo. At first I tried just rendering from a different camera angle. It never really worked. So I next looked into portals. But after a couple of days where I actually figured them out, I emailed support to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/295"}],"collection":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=295"}],"version-history":[{"count":0,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/295\/revisions"}],"wp:attachment":[{"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rakkar.org\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}