Thursday, May 14, 2009

Pretty matrix trick

Floating point numbers are wonderful things.
Let's try to draw a distant mesh by standard approach.

Engine code:
shader_modelviewprojection = player_projection * player_modelview;

Vertex shader:
gl_Position = shader_modelviewprojection * vertex;

The result will be funny:


And it's time to trick now.

Engine code:
shader_offset = player_position;
shader_modelviewprojection = player_projection * player_modelview * translate(shader_offset);


Vertex shader:
gl_Position = shader_modelviewprojection * (vertex - shader_offset);

The result will be absolutely correct:

Thursday, May 7, 2009

frustum.org

frustum.org domain name is officially dead.

Wednesday, April 29, 2009

Screenshots Buzz

Recently we have shown a bunch of screenshots from our forthcoming game, which created some buzz. Linux users are especially enthusiastic about the fact that the project will natively support both Windows and Linux (thanks to Michael Larabel for posting news item on Phoronix website).


The bad thing is that we still don't know even a genre of our game %) In fact, we intended to make a large tech-demo, but eventually we came up to the small game idea. According to the first feedback users expect the project to deliver fun, so it's kinda complicated situation for us. Well, it seems that we have no other option than to make a full-featured game =)

PS: Another fun thing is that the news were translated into Russian and copied several times by different sites and blogs, so in the end overall data distortion was so severe that a reader can get to know about "unique feature of the project: unlimited multiplayer!", while there was no single word with "net" in the original entry.

More to come, stay tuned!

Sunday, April 26, 2009

stdlib performance

This is a relative performance of some standard library function.
String::atoi() and String::atof() are Unigine functions.

Windows (Core2 Quad 2400MHz):
atoiTime: 0.276FPS: 3.6231
strtolTime: 0.278FPS: 3.6001
String::atoiTime: 0.095FPS: 10.4853
atofTime: 2.104FPS: 0.4752
strtodTime: 2.127FPS: 0.4701
String::atofTime: 0.349FPS: 2.8644

Linux (Athlon 64 X2 2140MHz):
atoiTime: 0.271FPS: 3.6840
strtolTime: 0.301FPS: 3.3271
String::atoiTime: 0.112FPS: 8.9447
atofTime: 1.337FPS: 0.7480
strtodTime: 1.224FPS: 0.8168
String::atofTime: 0.328FPS: 3.0481

Friday, April 24, 2009

Hall of GPUs killed by Unigine


NVIDIA 8800GTX is dead because of memory problems
NVIDIA 9800GT is dead because of memory problems

Friday, April 17, 2009

Sunday, April 12, 2009

Magic Spring

Now we have a magic spring in our studio:






Thursday, April 9, 2009

Cubemap filtering

All Direct3D10-compatible cards use linear filtering across cube map faces.
NVIDIA NV50 uses linear filtering across cube map faces under OpenGL for 6-9 months.
ATI R700 uses linear filtering across cube map faces under Direct3D9 since Catalyst 7.1 or 7.2.

Who is next?

Saturday, March 28, 2009

Total happiness


No more gypsum anymore. It was nightmare 20 days without ability to walk, to run, to ride... Right leg is little smaller than left one and it's funny :) I made a crack in splint bone 5 weeks ago by snowboard boot. Doctors said that I had closed wound only. I had been walking with crack in bone for 2 weeks. And after that I broke it totally. Now I can use my leg and it's happiness. Thanks for all Russian doctors :)

Monday, March 23, 2009

Paralyzah: 30 Years

Yesterday we celebrated 30th anniversary of our musician, Michael "Paralyzah" Kondratyev. At the moment his tracks are released by the following labels: Respect Rec (Russia), Total Advance Music (Russia), KDK Rec (Russia), Gunsta Rec (Russia), MacroVision (Russia), Covert Operations (USA). He creates music mainly in drum'n'bass style, plus he is a DJ and promoter of "Untrace" promo-group. All soundtracks of our demos were written by him, you can check out some other tracks here: http://paralyzah.all.dj/

Happy birthday, man!