About this blog
This journal has something terminal...
Entries in this blog
C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C# C#...
I'm learning C# from the book "Professional C# 3rd Edition" in a vain attempt to move my IT career away from technical support and in to software development. You can do shit like that when you work for a small business. I am sick of pandering to people who lose their word documents or need help installing a wireless PCMCIA card.
I don't imagine this will take me too long as I am very well acquainted with another language, C++, which, as I understand it, is much more difficult to learn than C#. I am not exactly starting from scratch either.
I finally got around to putting what I have for my Hades engine together in a little demo application. If you have a graphics card that support pixel and vertex shader version 2.0 and have DirectX 9c installed I would appreciate it you could try it and let me know if it runs. If it doesn't there should be some log files in the folder... maybe you could post them as a comment [smile]
Hades Engine Test
It is a per-pixel lit column with specular highlighting and bump mapping. A directional light rotates around it on the XZ plane. My HEF model format is used and textures are loaded from a ZIP file. There is a couple of HLSL file in there as well.
Got the ATI real-time grass shader working with my engine in it's HLSL form. I stood on the shoulder of Beoch in this thread for the shader. I am sure the shader can be optimised but i'm happy to stop here for today [smile]
Looks pretty good in motion. I hope to incorporate it in to an environment system that will be responsible for all foliage, water and weather effects for my game. I have uploaded a little demo here
Today I added off-screen render target functionality to my engine. It is done in such a way that the render targets can be added to my engine's "skins" (a combo of one material and eight textures) as a texture. This should be good for special effects. I think I am going to use it to do planar reflections next and see if I can make some decent looking water [smile]
I finally ordered the book DirectX 9 User Interfaces: Design and Implementation. I have been procrastinating on it for ages but I really want to make a DX GUI now too. The catalyst for me was I got it GBP10 cheaper through Amazon Marketplace. It is dispatched from the US though, so I can expect it in around 14 days time. Harrumph.
With parametric clouds WAHHHAHAHAH!
I haven't programmed anything game related in weeks. The general malaise has set in. I just don't want my journal to be on the bottom.
I have started working my way through Shaders for Game Programmers and Artists. I am on chapter 6. I have to say I like this book. There are some errors in it where the printed shader code from the book doesn't match up with the ones on the CD. He also references some samples on the CD that are numerically incorrect during his explanations. But I have managed to recognise the problems and have learned a lot about shaders. I am also now much better at using ATI's RenderMonkey which I can now see for the awsome utility it is!
I have been working on my engine again. The renderer is pretty functional and I have nearly finished the user input module which was mostly code I had before reworked to fit this design. There is only so many ways you can jig Direct Input...
Been strange at work. I got confirmation of my new post and handed in my resignation notice (this turned out to be a real non-event. Hand in a letter and go back to work - still what was I expecting?) I leave here in three weeks. They have already advertised for my successor.
My "Programming Game AI By Example" book arrived today. I have been really looking forward to this! I am going to get stuck right in at the weekend when I am not knackered from work. I got home at 18:40 today having started at 09:00. Not really used to this seeing as I used to finish at 16:30 on the dot.
Took my first phone call today and dispensed trouble-shooting instructions... think it went OK and that I am starting to get to grips with my new job. I think the slightest mishap would really knock my confidence though.
Just finished the second day of my new job as a Support Analyst for a commercial firm (as opposed to working in the education sector as I did previously). I feel a bit like a fish out of water as its an entirley different role. Even answering the phone... I don't really know our customers, our contracts with them, how I am expected to respond (site visits, through a VPN connection that we may or may not have set up with them etc)...
I crave the familiarality of my old job which I had grown to hate. I hope I settle here quickly.
I tried using the character entity code for certain characters within the
I know how much everyone loves music in web pages so I am following Mr. Mushu's lead.
I can poorly imitate [smile]
I have ordered this book on Amazon: Programming Game AI By Example by Matt Buckland.
I am really looking forward to it but it says it will be dispatched in a stupid eight to ten days [sad] I got even more excited when I ran the precompiled exectuables downloadable here and read through some of the source which is downloadable here from the publishers site.
Although not really a feature of my posts, this seems to be customary if not original:
Sunshine On Leith
By The Proclaimers
My heart was broken, my heart was broken
Sorrow sorrow sorrow sorrow
My heart was broken, my heart was broken
You saw it, you claimed it
You touched it, you saved it
My tears are drying, my tears are drying
Thank you, thank you, thank you, thank you
My tears are drying, my tears are drying
Your beauty and kindness
Made tears clear my blindness
While I'm worth my room on this earth
I will be with you
While the chief, puts sunshine on leith
I'll thank him for his work
And your birth and my birth.
Ladies and gentlemen - I give you an ionic column rendered with my Hades engine with per-pixel directional lighting, ambient lighting and normal mapping:
Compare this with the other picture below! I am now going to try and sleep with that elated feeling that only programmers get from time to time [grin]
I have been playing "Call Of Duty" in multiplayer for the first time. This is quite simply an awsome game. I still maintain there should be a self-expiring posting system on Gamedev where people can post details of active game servers (or pre-arranged times) so that the community can join together on them.
I got the job. I must work four weeks notice in my current post which I return to on Monday after having been on annual leave. I feel weird and haven't coded anything for a while. My net connection has been down because of a faulty wireless access point...
I was last looking at a bump mapping shader. Tangent space is dumb.
I am going for a job interview in three hours with an IT consultancy firm... My mind is aglow with transient nodes of thought, cascading like a waterfall.
So I have decided I am going to use a chunk based file format called .HEF and that it will be quite similar to .3DS. It's going to contain everything from mesh to music data to ... whatever I need for my engine, eventual CAD tools and maybe even a game!
I have spent all of today writing a .X to .HEF converter so I can start working with meshes. I have already got it to the stage today where it can contain static meshes. Over the next couple of days I intend to add bone and animation chunks to the file format.
Here is a picture of an ionic column with normals displayed. Although boring there is a lot going on there. It is displayed using my engine renderer DLL which is coming along nicley. The column mesh was loaded from my HEF file format. The texture was loaded from my own DDS loader and there is not a single function or variable from the D3DX library used to do this [smile]
My renderer now has support for uncompressed DDS texture files in format A8R8G8B8, X8R8G8B8, R8G8B8 and R5G6B5. They are actually quite simple to load and then utilise with the IDirect3DTexture9 interface.
My problem now is finding a suitable mesh format. I don't like how .3DS lacks precomputed normal data. I am very familiar with .X and need something that contains bone data... I also want material structures to contain mutliple textures such as detail map, bump map etc... I am thinking of writing an X loader and converter to a custom file format.
I am still surprised I can't find a format already out that I am happy with though. I have looked at .OBJ, .3DS, .MD3, .X
I am taking a little detour in writing my engine's renderer component. As I am not using the D3DX library I am having to write my own file loaders for textures. Bitmaps are still possible to load through the Windows API but I am having to write my own loader for DDS files. This format is awsome! Mipmaps, alpha transparency, cube, volume and compressed textures etc. Once I get it done I can most likley use this texture format exclusivley in projects built on top of my engine so I need support for it.
This is the first time I have written a loader for someone elses file format rather than my own. It is well explained in the DXSDK documentation though.
I am not using any API specific structures in my code so I see no reason at the moment why this loader could not be used to load DDS files in an OpenGL application.
I have finished my 3D math library for the time being. It encapsulates vectors, matrices, quaternions, rays, axis-aligned bounding volumes, oriented bounding volumes, planes, polygons and miscellaneous math functions that I will need.
I have currently been working on my engine renderer. I have got the basic functionality of my Direct Graphics implementation of the render device interface I am using. It boots up the DirectX 9 API and allows for device selection / manipulation via a startup dialog box. It also does things like clearing the screen etc. Here is a picture of it so far:
Been away for a while. Currently on annual leave from work. I had to book thirteen days holiday off work before the cut-off point which is the first of October when it all starts again. If I didn't I would lose these days. Taking weekends in to consideration I am off most of September [grin].
Finished Doom 3 and nearly finished Deus Ex 2. I continued on my my 3D math library today. I haven't coded anything in roughly two weeks...
Bit melancholy at the moment but can't put my finger on why.
Finally finished getting all my data off my laptop and on to my new system. I am about ready to get back in to the swing of my design document and Hades engine. I am currently distracted by Doom 3 and Deus Ex 2: Invisible War though. I am catching up with the games I always wanted to play on my laptop but couldn't. Surprisingly, there is only these two... Also looking forward to playing Half Life 2 in a high-res mode though!!!
I am also trying to get in to programmable shaders. I have downloaded RenderMonkey 1.5 and want to get the book "Shaders for Game Programmers and Artists". I am skint this month though so will have to wait until my salary goes in again before I can get it...