{"id":1278,"date":"2015-03-01T23:50:40","date_gmt":"2015-03-01T23:50:40","guid":{"rendered":"http:\/\/phoenixgamedevelopment.com\/blog\/?p=1278"},"modified":"2015-03-01T23:50:40","modified_gmt":"2015-03-01T23:50:40","slug":"p156-phoenix-engine-update-10-optimisation-part-10","status":"publish","type":"post","link":"https:\/\/phoenixgamedevelopment.com\/blog\/p156-phoenix-engine-update-10-optimisation-part-10\/","title":{"rendered":"P156: Phoenix Engine Update 10: Optimisation (Part 10)"},"content":{"rendered":"<p>I spent some time thinking of some new ideas to increase efficiency in the engine. I found some ways that I could cull some geometry from the scene by using simple algorithms to determine which geometry is being rendered, and which isn&#8217;t.<\/p>\n<p>Since the game that I am currently using this engine to produce is based around a grid structure, I could use these algorithms to cull geometry from grid squares that were not currently rendering, without having to perform complex calculations on a per-pixel or even a per-object basis.<\/p>\n<p>This logic is however quite crude, and quite slow compared to a more complex culling routine, and therefore the performance improvements granted are relatively modest. I will need to revisit culling and optimisation later.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I spent some time thinking of some new ideas to increase efficiency in the engine. I found some ways that I could cull some geometry from the scene by using simple algorithms to determine which geometry is being rendered, and which isn&#8217;t. Since the game that I am currently using this engine to produce is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,16],"tags":[],"class_list":["post-1278","post","type-post","status-publish","format-standard","hentry","category-software-and-games","category-software-engines","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"aioseo_notices":[],"builder_content":"","_links":{"self":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/1278"}],"collection":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/comments?post=1278"}],"version-history":[{"count":1,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/1278\/revisions"}],"predecessor-version":[{"id":1279,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/1278\/revisions\/1279"}],"wp:attachment":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/media?parent=1278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/categories?post=1278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/tags?post=1278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}