About this blog
This journal has something terminal...
Entries in this blog
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...
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
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.
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 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.
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.
With parametric clouds WAHHHAHAHAH!
Doom 3. High quality. Smooth as silk. Awsome. Nuff said.
I know how much everyone loves music in web pages so I am following Mr. Mushu's lead.
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.
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 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.
I tried using the character entity code for certain characters within the
Although not really a feature of my posts, this seems to be customary if not original:
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 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'm currently reading Data Structures For Game Programmers. I think it is quite a good book. It has been beneficial to me as a knowledge consolidator and has exemplified concepts to me that I had dabbled with but never thought about using to their full potential. One fundamental data structure I had never used before was hash tables!
I think I am reading this at the right time as I am designing a game and engine from the ground up and this has helped me to think about data organisation from new angles while filling some holes in my game programming basics.
Found a young dog cowering under the local park bench at around 23:00 last night. I went home and brought it some dog snacks from the house and it started following me around the park. It was obviously someones pet because it was well groomed and well trained. It sat on command, rolled over etc. A beautiful little black and white collie.
It had no name tag or collar on it so I took it home with me while I tried the phone. I couldn't get through to the cat and dog home, local police station or council services because they were all shut for the night...
I decided to keep it in overnight and take it to the local police station in the morning to see if anyone had reported it missing. Unfortunately my own dog started chasing it and barking with it. I couldn't keep it in the house as I have neighbours above an below me and this would have went on all night. I took it back to the park and let it follow a scent if appeared to recognise. When one of my previous dogs ran away it came home itself so I figured this one would too although I felt bad letting it go.
This morning, to my surprise, the dog was still under the park bench! I was on my way to work so I let it jump in my car and took it to the police this morning. They will check to see if it has been reported missing and, if not, send it to the cat and dog home. It is sure to find it's original or otherwise good owners there.
If you own a dog please make sure it has a collar and some sort of identification details - also get it chipped with your details. I would have phoned the owners myself and drove it round for them...
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.
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.
With my new system (which I hope to collect today at lunchtime) I will have access to vertex and pixel shaders for the first time. This is more exciting to me than the copy of Doom 3 I have sitting on my table for some reason...
Transitioning from using the fixed function graphics pipeline to programmable shaders seems like a dark art though. I can not find one book that seems like a difinitive guide or that is really well rated. I also want an up-to-date book using the HLSL and I notice that most of the ones in the Gamedev books section are in or around two years olds. An age in computer terms...
I was considering GPU Gems but I am getting an ATI card an want to be able to run the samples and I hate books made up as a collection of articles. I wish people would stop publishing them.
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]
After having signed up I checked the PayPal account and, besides the successful GDNet+ transactions, there was a subscription creation and subscription cancellation entry both with the status "Cancelled". What the hell does that mean?
Ever had one of those days where nothing goes right? I get them so often that "one of those days" for me is when things go correctly, grr!
Of course, not to be a drama queen though...
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 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.