<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4559245151978053397</id><updated>2012-02-16T03:33:39.368-08:00</updated><title type='text'>Final project diary</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shashfinalproject.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4559245151978053397/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://shashfinalproject.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>shash</name><uri>http://www.blogger.com/profile/16478773471229142784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_7WaI1gEi66M/S4_DPEbHQBI/AAAAAAAAAQc/2vzHZN3pa80/S220/RLpSFVklb1UHHGNA0RmJCdws2AvW16dU8M0bYem7Usc2Yh4IO9_m6DmxQZVSAvSe.jpeg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4559245151978053397.post-7741942076836719105</id><published>2009-10-06T11:27:00.000-07:00</published><updated>2009-10-06T11:40:40.851-07:00</updated><title type='text'>Technical details of implementation</title><content type='html'>&lt;div style="text-align: justify;"&gt;After the general ideas, I want to talk about the technical details of the project implementation. First of all, I'm mainly an OpenGL coder, I've been using the API for almost a decade now, so I'm quite used to it. Also I'm quite used to coding all the stuff that is rationally doable myself: 3D mesh exporters/importers, file formats, parsers, etc. As I see the final project as a learning exercise, I wanted to try something different.&lt;br /&gt;&lt;br /&gt;First, I'll be using Direct3D 9 or 10: I'm not sure of the capabilities that Direct3D 9 offers, so maybe I'll have to use some stuff that is Direct3D 10 level. Whenever I can check of the full Direct3D 9 capabilities I'll know, I'm too used of working with OpenGL, where higher requirements don't mean changing the version of the API, just another extension.&lt;br /&gt;&lt;br /&gt;For the 3D mesh/scene file format, I'll be using Collada. The reason is quite simple, it's got exporters already written from 3dsmax and Maya (the two applications I know best), it's plain XML (so I can write a parser, and in the process learn about the schema) and it's meant to be a industry standard (that's the least important reason, but seems plenty of people/companies are  using it as exchange format between the 3D package, tools and final format).&lt;br /&gt;&lt;br /&gt;As for the math and base code, I'll use modified (mainly simplified) versions of those that I use for my personal projects, as I won't be needing all the stuff I've coded over the years (or I hope so!).&lt;br /&gt;&lt;br /&gt;Also, it's worth noting that I already started the project, in fact it was started 3 weeks ago! As of now, I've the first draft of the Collada loader, an a very simple Direct3D encapsulation. In the upcoming days, I'll be uploading screenshots if I do something worth posting, and will start detailing the four shading techniques that I'll implement.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4559245151978053397-7741942076836719105?l=shashfinalproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shashfinalproject.blogspot.com/feeds/7741942076836719105/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://shashfinalproject.blogspot.com/2009/10/technical-details-of-implementation.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4559245151978053397/posts/default/7741942076836719105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4559245151978053397/posts/default/7741942076836719105'/><link rel='alternate' type='text/html' href='http://shashfinalproject.blogspot.com/2009/10/technical-details-of-implementation.html' title='Technical details of implementation'/><author><name>shash</name><uri>http://www.blogger.com/profile/16478773471229142784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_7WaI1gEi66M/S4_DPEbHQBI/AAAAAAAAAQc/2vzHZN3pa80/S220/RLpSFVklb1UHHGNA0RmJCdws2AvW16dU8M0bYem7Usc2Yh4IO9_m6DmxQZVSAvSe.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4559245151978053397.post-2345732615902333241</id><published>2009-09-23T13:51:00.000-07:00</published><updated>2009-09-26T09:06:56.562-07:00</updated><title type='text'>Initial ideas</title><content type='html'>&lt;div style="text-align: justify;"&gt;Well, as part of my final project at the university, I wanted to make a diary with plenty of screenshots and as a mean to see how much the finished project changed from the initial ideas. Let's get to explain what I'll be doing in the next months.&lt;br /&gt;&lt;br /&gt;Over the past years I've devoting both my personal and professional time to 3D related coding, including, but not limited to, software/hardware rasterizers, raytracers or related tools. I've also toyed with non PC hardware quite a lot, as I've coded for the Playstation 1, GBA, DS and PSP (the latter two to a large extent). As such, it was a natural choice doing my final project on something related to 3D.&lt;br /&gt;&lt;br /&gt;Over the past year, I've seen a lot of times comparisons between the different game rendering techniques: I mean how the problem of illuminating surfaces with several different lights is accomplished. First, the discussion is between forward and deferred rendering, not between several less memory heavy deferred rendering approaches. As of now, I've done an implementation of both forward lighting and deferred lighting, but both engines had a very different target (and test scenes). What I want to do now, is to test several different approaches on the same test scenes and be able to compare them in the same environment.&lt;br /&gt;&lt;br /&gt;So, let's sum it up, I want to implement the following 4 techniques:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Forward rendering (probably multi-pass, and not multi-light übershaders)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Deferred rendering (the old big GBuffer approach)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Pre-light pass (also know as deferred lighting)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Light indexed rendering&lt;/li&gt;&lt;/ul&gt;I'll mainly focus my work on getting all renderers to show all scenes to a certain degree of fidelity, even if at the cost of performance: if the scene is not meant to perform well on one of the techniques, I won't be doing any quality downgrades on the renderer (for example, dropping lights or transparency).&lt;br /&gt;&lt;br /&gt;This is really important, as I want to focus on accurately benchmarking all of them and getting a fair comparison of them on a wide range of scenes. The main problem of my tests will be that I'll probably only be using a PC (not a PS3 or a Xbox360), which won't give a industry level comparison, but I don't have access to that hardware now, and even if I had, access to the PS3 GPU is not possible without a devkit, which is way out of my budget :P&lt;br /&gt;&lt;br /&gt;To sum it up, I'll be doing a benchmark of different rendering techniques, let's start the ride :)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4559245151978053397-2345732615902333241?l=shashfinalproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shashfinalproject.blogspot.com/feeds/2345732615902333241/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://shashfinalproject.blogspot.com/2009/09/initial-ideas.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4559245151978053397/posts/default/2345732615902333241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4559245151978053397/posts/default/2345732615902333241'/><link rel='alternate' type='text/html' href='http://shashfinalproject.blogspot.com/2009/09/initial-ideas.html' title='Initial ideas'/><author><name>shash</name><uri>http://www.blogger.com/profile/16478773471229142784</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_7WaI1gEi66M/S4_DPEbHQBI/AAAAAAAAAQc/2vzHZN3pa80/S220/RLpSFVklb1UHHGNA0RmJCdws2AvW16dU8M0bYem7Usc2Yh4IO9_m6DmxQZVSAvSe.jpeg'/></author><thr:total>1</thr:total></entry></feed>
