A few days ago I promised to write a short description of the technique I used for creating nGENE Tech dynamic clouds. I believe they look pretty ok and the technique itself isn't that complicated even though it may sound scary for some people at first (greetings goes to Vipa - Polish indie games developer :) ).
Welcome to my blog about game and graphics programming, agile development and diving. Apart from regular entries you can read about projects I took part in and also articles I published.
Projects Articles Achievements About me Diving Photo gallery CV
Sunday, 18 October 2009
Tuesday, 13 October 2009
nGENE clouds finished, new site's record
Just to keep you updated. It's the final appearance of clouds in nGENE. I'll leave them as they look for some time. This ugly textured ship is just added because I don't like screens without foreground.
Sunday, 11 October 2009
nGENE clouds improved
Saturday, 10 October 2009
Depth of Field
Time for a description of another nGENE effect. This time I'll write about depth of field effect which is useful to emphasize importance of part of the scene.
Thursday, 8 October 2009
Some new nGENE screenshots
Today I took a break from fightning with animation system (.x file parsing to be precise... I start to believe it's pure evil avoid using it at all cost! :) ) and optimized a few shaders and improved a few others. Here are some new screenshot I took:






For more new screenshots visit nGENE gallery.
Thermal Vision effect
Recently I posted an entry about implementation of night vision effect. There is one more effect which is similar in implementation to it and yet visually totally different - thermal vision effect. Maybe a screen below is not of the best choice but I cannot find time right now to take another better suiting one:
Wednesday, 7 October 2009
Some minor changes to the site
I fixed a few things on this blog. First of all I removed some of the Polish words appearing here and there (Blogger was restoring some fields' values all the time to their defaults... don't know why). I also added "Read more" link to the most recent entries, so you don't have to scroll for a minute to skip uninteresting and yet lengthy entries.
I also added backlinks option (doesn't work for Opera... at least for me) and Opinion field. I'd be grateful for ticks as it would tell me if what I write here is of any interest :)
I also added backlinks option (doesn't work for Opera... at least for me) and Opinion field. I'd be grateful for ticks as it would tell me if what I write here is of any interest :)
Monday, 5 October 2009
Just a small picture
I have not much to write this time. I'm fixing, improving and busy with animations (it takes more time than I estimated but soon it should be production ready). So I just grabbed this picture from nGENE. It's getting better and better each day :) All of the trees are rendered with full geometry (I should provide progressive mesh mechanism and turn them into billboards at the distance but it can wait... animations can't) so it kills performance pretty nicely.
Friday, 2 October 2009
Virtual File System
Having hundreds or even thousands (or even worse hundreds of thousands...) of files in any game directory has many drawbacks:
- It takes longer to install a game as copying many small files is usually slower than copying several larger ones,
- Loading a single file takes longer (as we have to open, read and close each of them),
- We can run out of possible file handles (as OS limits their number... at least Windows),
- Modifying game content and what's worse game scripts is relatively easy as access to them is not secured by any means what especially in case of MMO games can have some serious consequences,
- If you want to secure or compress game files you have to do it on a per-file basis.
Wednesday, 30 September 2009
Updated lightning bolts
I updated the lightning effects in the engine. The change is addition of glow and fixing some small issues (and making it 3-dimensional effect instead of 2-dimensional). This time I show how it can simulate electricity (useful for weapons and stuff like that).
Tuesday, 29 September 2009
Burrows-Wheeler Transform
And so finally the last post on the compression algorithms is here (also the very first stage in the nGENE Tech VFS compression). This time I'll introduce a Burrows-Wheeler Transform or BWT for short. The algorithm itself doesn't compress data at all so other methods like Huffman coding have to be used with it. But what this transform does is reordering the original data so it would be more compression friendly.
Sunday, 27 September 2009
Storm is coming
In the last few hours apart from finishing skinning shader, I coded quite an interesting effect (not finished really but as for just a few hours of work I'm quite happy with the results):
Wednesday, 23 September 2009
Control over time and space
Well, sort of :) One of the cool features of deferred shading (I know that for some of you guys, cool and deferred shading just don't match) is that we have full control of what is written to the Z-Buffer (as it is part of G-Buffer). Of course when using post-processing with forward rendering there is also often need to perform special Z pass but in case of deferred shading we're obliged to do that as without it lighting the scene would be just impossible.
Why is it so cool? Well, lets look at the picture below:
Why is it so cool? Well, lets look at the picture below:
Night Vision effect
Implementing the night vision effect is pretty simple.
What we have to do is:
What we have to do is:
- Read current frame buffer content,
- Sample a noise texture using time variant texture coordinates (I modify them by adding sin(milliseconds / 1000.0f) to them),
- Add both vectors,
- Multiply everything with green colour i.e. (0.0f, 1.0f, 0.0f) vector.
Monday, 21 September 2009
Move-to-Front
Move-to-Front algorithm is a simple data transform which might reduce entropy and thus improve performance of the entropy based compression algorithms like Huffman coding I described recently. It is also often used with Burrows-Wheeler Transform which is producing sequence with local frequencies correlation (whatever it means). I'll describe BWT later (and that will be the end of the compression algorithm series :) ).
Subscribe to:
Posts (Atom)










