Wednesday, December 23, 2009

First Demo

Reference deleted. Now I'm doing a larger-scale demo.

Sunday, December 20, 2009

Thursday, December 17, 2009

Sunday, November 22, 2009

Friday, October 23, 2009

Streaming

Successfully implemented texture and mesh streaming, 
significantly reduced the cost of memory, 
the game world can now be much larger and detailed!

Friday, August 21, 2009

Screen-space global illumination

Продолжается разработка Realtime Global Illumination, вот неcколько скриншотов, некоторые идеи взяты отсюда http://diaryofagraphicsprogrammer.blogspot.com/2008/06/screen-space-global-illumination.html






Tuesday, June 30, 2009

Sunday, June 28, 2009

Particle System (captured video)

I prepared a short video clip, which demonstrates some features of the particle system in my engine

Friday, April 24, 2009

RealTime Radiosity

Вчера встроил realtime radiosity в движок. Может не совсем radiosity, но все же.Для его работы не нужные какие-либо дополнительные расчеты.  Алгоритм одинаково работает как со статической так и с динамической геометрией. 

Вот первая небольшая демонстрация данного освещения в действии. 
Но это далеко не окончательный вариант.

Monday, March 2, 2009

Video: round of level

В другой раз постараюсь сделать видео с лучшим качеством :/

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 :)

Wednesday, January 7, 2009

Subsurface scattering (SSS)

Simplest variant:
SSS = Fresnel * (LightAtt) + LightDiffuse + LightSpecular
With SSS:























No SSS: