Thursday, March 21, 2013

Say hello to my little friend

Only for people with good eyesight:

This looks better in game, believe me! :D

Shadow figures made with billboard technique, geometry shader used for expanding points into quads and texture array for different images on them. In next step I'll try to put some texture masks for bloodstains etc. :P

Monday, March 18, 2013

Dark, Darker, The Darkness

So I implemented my first dynamic SSAO. Results are following:

I still need to tweak light intensivity etc. but this SSAO method looks weird to me. Model's edges around the camera frustum aren't shaded, but the rest seems to be alright. Also it's quite expensive for rendering time, I know it's post-process but a geometry is rendered twice. Of course it's possible to do it in one pass, but I need to learn about MRT technique first ;)

Instancing and a bit of shader play

I sat down and started to refactor my code for serious. FPS rate was still silly low, but the code looked ok. I've implement instancing and saw that it accelerated draw function by 4-5 times, also frustum culling lowers the drawing time at average 4 times. It was really ok, but still...

Consider following shader code:

What will happen in 28 and 29th line?

I'm setting a value for gRenderedPointLights to 7, so it will be logical if this loop unrolls and just copy its code 7 times with different i values.


HLSL attributes are very sensitive. I don't know why, but in that case the loop unrolled circa 50 times, removing the [unroll] attribute solves the problem. Now rendering time jumped like +100FPS.


Thursday, March 14, 2013

Frustrum culling - so what?

Yesterday I added bounding box and sphere calculation to my model class. With that data it was simply enough to finally implement frustum culling. I also refactored inside of the model class, should be functioning faster now :)

Everything is working etc, but... application in debug mode is still at 10-20 FPS level, I've checked lights, normal maps, particles and other things and I still can't figure out what slows it down so bad. Unfortunately I need to spend more time on refactoring and optimization at the expense of gameplay.

Just in case - next step will be SSAO, I don't know if I'll manage but it's worth trying for this project ;)

Tuesday, March 12, 2013

Maze MVP

I'm so wasted because of coding that I barely know how to write anything (in English all the more).

OK, a couple things has been done; multiple point lights, bump and specular mapping, particles, maze generation, 3D sound effects and more. I really regret now that I haven't wrote a post every work day. It's as hard for me as getting up at 7 a.m.
But for now, here's the screen:

And download link:
Omg, such a big file for download... I need to do something about that...

Thursday, March 7, 2013

Labyrinth of Restlessness prototype

That one was kind of quick. My "engine" is getting more and more programmer-friendly. Today I've added diffuse texture support (after 2 months, believe?!) and did some fixes and little additions.
Prototype was really easy to make, now I can go to more serious things like advanced texture mapping techniques (normal, specular and shadow) and some other graphical effects.

Prepare to be scared ;)


Monday, March 4, 2013

Introducing Labyrinth of Restlessness

You wake up in a Labyrinth of Restlessness. You don't know why you are here. The only thing you know is that you have to escape in no time.

Saturday, March 2, 2013

Drumstep Defenders v1.0

February was a very short month for me. But in fact I managed to finish my game aaaaaaand....