{"id":20,"date":"2011-08-22T14:28:27","date_gmt":"2011-08-22T14:28:27","guid":{"rendered":"http:\/\/divide-studio.co.uk\/blogs\/ionutcava\/?p=20"},"modified":"2011-08-22T14:56:50","modified_gmt":"2011-08-22T14:56:50","slug":"trac-is-up-milestones-are-set-framework-crashes-all-the-time-great-d","status":"publish","type":"post","link":"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/trac-is-up-milestones-are-set-framework-crashes-all-the-time-great-d\/","title":{"rendered":"Trac is Up, Milestones are set, Framework crashes all the time .. great :D"},"content":{"rendered":"<p><strong><span class=\"Apple-style-span\" style=\"font-family: Georgia, 'Bitstream Charter', serif; font-size: 13px;\">Project Hosting:<\/span><\/strong><\/p>\n<p>As a recent attempt to make a friend<a href=\"http:\/\/divide-studio.co.uk\/index.php\/changelog\"> see all of the changes I&#8217;m committing<\/a> via SVN, I&#8217;ve moved the entire code-base to <a href=\"http:\/\/xp-dev.com\/trac\/dvd-eng\/timeline\">Trac<\/a> thanks to the people at <a href=\"http:\/\/xp-dev.com\">XP-dev.com<\/a>.<\/p>\n<p>What this means:<\/p>\n<ul>\n<li>Timeline: \u00a0every change to the code is archived and documented on a line-by-line basis.<\/li>\n<li>Roadmap: the various milestones we&#8217;ve set for the development process.<\/li>\n<li>SVN hosting: everyone can download the code via a SVN client.<\/li>\n<li>Ticket and Bug report systems: Submit bugs, ideas or changes for us to review.<\/li>\n<li>And lots more &#8230;<\/li>\n<\/ul>\n<p><strong><span class=\"Apple-style-span\" style=\"font-family: Georgia, 'Bitstream Charter', serif; font-size: 13px;\">\u00a0Commit interval:<\/span><\/strong><\/p>\n<p>Commits have been slow lately due to the following reason:<\/p>\n<ul>\n<li>\u00a0Resource management in the code was a complete mess. No real relation between elements in the code. Thus, a SceneGraph was developed to help clear the mess. It was not commited to the main code base due to memory leaks and improper handling of FlyWeight object creation and shading assignment.<\/li>\n<li>\u00a0The ResourceManager class was rewritten to create objects based on a ResourceDescriptor that contains the future object&#8217;s name, physical location on the disk (i.e. model files, textures etc. if they exists), flags for various conditions on create (i.e. flipped textures, no-material geometry). Not committed due to the same FlyWeight problem.<\/li>\n<li>The Material system needs a rewrite. Switching between shaders all the time isn&#8217;t a good idea. Also creation\/destruction is a complete mess.<\/li>\n<li>Other minor bugs\/improvements.<\/li>\n<\/ul>\n<p>These changes are massive. They will reflect object management in scenes and proper loading\/unloading of resources. Rendering large batches of geometry should be faster (forests?) and the whole scene setup easier to understand (SceneGraph defined\/dumped in XML format?). Once this commit is in the main codebase, a lot of smaller ones will follow adding features: Shader\/Material based batch rendering, Advanced lighting based on material properties, Deferred Lighting, Speed improvements etc.<\/p>\n<p>If you look at the videos available on the main site in the <a href=\"http:\/\/divide-studio.co.uk\/index.php\/media-gallery\">media gallery<\/a>, the time difference from the &#8220;OBJ importer&#8221; video and the &#8220;Grass generation&#8221; one is of about 6 months. From the last video until now (as of writing this post), it&#8217;s been well over a year. The changes ARE that massive. Hope future videos will prove that \ud83d\ude09 Until then &#8230; check for changes, and feel free to study the code and give feedback if you feel like it.<\/p>\n<div id=\"attachment_24\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/divide-studio.co.uk\/blogs\/ionutcava\/files\/2011\/08\/278838_208921975824205_170021163047620_519845_6141722_o.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-24\" class=\"size-medium wp-image-24\" title=\"Crashes\" src=\"http:\/\/divide-studio.co.uk\/blogs\/ionutcava\/files\/2011\/08\/278838_208921975824205_170021163047620_519845_6141722_o-300x232.jpg\" alt=\"Crashes\" width=\"300\" height=\"232\" srcset=\"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/files\/2011\/08\/278838_208921975824205_170021163047620_519845_6141722_o-300x232.jpg 300w, https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/files\/2011\/08\/278838_208921975824205_170021163047620_519845_6141722_o-1024x792.jpg 1024w, https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/files\/2011\/08\/278838_208921975824205_170021163047620_519845_6141722_o.jpg 1033w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-24\" class=\"wp-caption-text\">Crashes<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Project Hosting: As a recent attempt to make a friend see all of the changes I&#8217;m committing via SVN, I&#8217;ve moved the entire code-base to Trac thanks to the people at XP-dev.com. What this means: Timeline: \u00a0every change to the code is archived and documented on a line-by-line basis. Roadmap: the various milestones we&#8217;ve set &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/trac-is-up-milestones-are-set-framework-crashes-all-the-time-great-d\/\">Continue reading<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[14],"tags":[],"class_list":["post-20","post","type-post","status-publish","format-standard","hentry","category-project-management","item-wrap"],"_links":{"self":[{"href":"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/wp-json\/wp\/v2\/posts\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":8,"href":"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/wp-json\/wp\/v2\/posts\/20\/revisions"}],"predecessor-version":[{"id":23,"href":"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/wp-json\/wp\/v2\/posts\/20\/revisions\/23"}],"wp:attachment":[{"href":"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/wp-json\/wp\/v2\/media?parent=20"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/wp-json\/wp\/v2\/categories?post=20"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/divide-studio.co.uk\/blogs\/ionutcava\/wp-json\/wp\/v2\/tags?post=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}