One More Bug
A blog about game development, programming and general silliness.
Thursday, 27 December 2012
New Prospects After the End of the World
Salutations, ladies and gentlemen!
I would like to begin this post by briefly recounting what has happened since the last entry in this here blog. As most of you have probably noticed, the world hasn't quite ended yet. Then again, perhaps it did, and we just haven't caught up to it yet. Maybe the machines finally revolted and enslaved all of humanity, and most of us simply don't realize it, in which case I welcome our new robotic overlords. What most probably happened, though, is precisely nothing at all (I'm sure you're as shocked about this development as I am). This is not what I want to write about, however, so I shall cut straight to the chase, so to speak. More after the break.
Saturday, 10 March 2012
Explanations, Beginnings and Random Thoughts
Salutations!
I've been busy lately, coding my secret project (I won't be sharing any real info on it just yet, at least not until I have developed it further) and I had to learn a variety of nice and interesting programming tricks to make it run at an acceptable FPS rate while still looking pretty.
First of all, since the project involves a lot of geometry and many lights, I used a Deferred Rendering method as described by Catalin Zima's excellent article. The first project prototype was done in XNA 4, but since then I have begun using SlimDX and decided it would be better suited for my needs. While I can certainly understand why they were implemented, XNA's profiles (HiDef and Reach) don't really fit my needs, as I have to use multiple render targets, but the project does not necessarily require a DirectX 10 compatible video card. What I ended up doing is using SlimDX's Direct3D 9 implementation. Additional benefits of the change include some impressive speed gain.
I have also figured out how to do proper Frustum Culling (not very impressive, but I never knew any serious 3D programming before I started this project, so I count it as an accomplishment), and failed at creating a working implementation of Occlusion Culling. I don't exactly understand why, but I'll get it sorted out eventually. For now, the performance is acceptable with the game running at 1000-1200 FPS on my PC with a GeForce GTX 560 Ti graphics card, and 60-70 FPS on a friend's laptop running some sort of Mobility Radeon HD, so I'm concentrating on adding new features to the engine and making sure things work before I start optimising it any further. GPU Gems 1 or 2 has some sort of an article on this, but I'm not sure it applies in my particular case.
I'll need to learn a whole lot more if I ever want to complete this project, but it's a very good idea and I'm just not going to let it go to waste.
Anyway, I'm done boring you for today!
Cheers
I've been busy lately, coding my secret project (I won't be sharing any real info on it just yet, at least not until I have developed it further) and I had to learn a variety of nice and interesting programming tricks to make it run at an acceptable FPS rate while still looking pretty.
First of all, since the project involves a lot of geometry and many lights, I used a Deferred Rendering method as described by Catalin Zima's excellent article. The first project prototype was done in XNA 4, but since then I have begun using SlimDX and decided it would be better suited for my needs. While I can certainly understand why they were implemented, XNA's profiles (HiDef and Reach) don't really fit my needs, as I have to use multiple render targets, but the project does not necessarily require a DirectX 10 compatible video card. What I ended up doing is using SlimDX's Direct3D 9 implementation. Additional benefits of the change include some impressive speed gain.
I have also figured out how to do proper Frustum Culling (not very impressive, but I never knew any serious 3D programming before I started this project, so I count it as an accomplishment), and failed at creating a working implementation of Occlusion Culling. I don't exactly understand why, but I'll get it sorted out eventually. For now, the performance is acceptable with the game running at 1000-1200 FPS on my PC with a GeForce GTX 560 Ti graphics card, and 60-70 FPS on a friend's laptop running some sort of Mobility Radeon HD, so I'm concentrating on adding new features to the engine and making sure things work before I start optimising it any further. GPU Gems 1 or 2 has some sort of an article on this, but I'm not sure it applies in my particular case.
I'll need to learn a whole lot more if I ever want to complete this project, but it's a very good idea and I'm just not going to let it go to waste.
Anyway, I'm done boring you for today!
Cheers
Monday, 20 February 2012
New Beginnings, Old Mistakes
Hello! I've started a new blog. I'm not entirely sure what I want to do with it, but I'm certain it will be a fascinating experience. Hopefully, this blog will serve to improve my writing skills, which are quite lacking at the moment. ;)
I'm most likely to post about programming (game programming to be specific), technology and other similar stuff, but my interests vary quite a lot, so I hope you can find something of note here.
Oh my, it's late! I'm off to bed!
Subscribe to:
Posts (Atom)