Monday, February 23, 2009

Monday, February 16, 2009

Три скриншота с рабочих уровней

Работа продолжается, вот несколько скриншотов. Просто показалось красиво, особенно с далека. DOF делает свое дело :)



Saturday, February 14, 2009

My Variant of Light Pre-Pass Renderer

About Light Pre-Pass Renderer you can read here:

http://diaryofagraphicsprogrammer.blogspot.com/2008/03/light-pre-pass-renderer.html

I like this idea, but I don't like reading normalmap in depth/normal pass. 

My idea to store light directions multipled withN.L, without normalmap reading. 

Geometry pass to MRT(R16F, R8G8): 
In R16F we write linear depth: 
Out.Depth = In.PositionViewSpace.z / zFar; 
In R8G8 we write view space normal:
Out.NormalXY = 0.5 + 0.5 * mul(float3(0,0,1), TBN).xy; 

R16F we need for fast post-process effects speed. 

Then lighting pass: 
 Render light volumes to MRT (A16B16G16R16F, A8R8G8B8) 
 Read depth, normal; 
 Compute LightDir, LightAttenuation and N.L; 
 Out.Dir = LightAttenuation * LightDir * N_dot_L; 
 Out.Color = InLightColor * N_dot_L; 

Then color geometry pass to a A8R8G8B8: 
 Read LightDir, LightColor from LightDirBuffer and LightColorBuffer; 
 Compute N.LightDir, R.LightDir; 
 And final light geometry;
++ Dont need read normalmap in depth/normal pass; 
-- Problems only with specular when crossings more then 2 lights; 
Your opinions? 

Here is some results:

Sunday, February 1, 2009

Editor for animations blending

In English:

Editor for animations blending  is practically ready.

Now to mix up animations simpler simple. For one object can play
quite different animations of his different parts (or for separate bones), with different there is speed, in any combinations.
For example, a protagonist can simultaneously run, shoot, throw a grenade.
These animations are created separately from each other.

It is possible to manage all of this process from a scripting language or visual logic editor.

Need here yet morfing and IK :)

И на русском:

Практически готов редактор для блендинга анимаций.
Теперь смешивать анимации проще простого. Для одного объекта могут играть
совершенно разные анимации различных его частей (или для отдельных костей),
с разной скорость, в любых комбинациях. А еще костями можно двигать и без анимации.

Например, главный герой может одновременно бежать, стрелять, метать гранату. 
Причем эти анимации созданы отдельно друг от друга.

Всем этим процессом можно управлять из скриптового языка или ректора визуальной логики.

Как бы сюда еще морфинг добавить с IK :)