Tuesday, July 28, 2009

Recent photo of the crew


From left to right:
* Frustum (Alexander Zaprjagaev) // CTO and The Brain
* Andrewko (Andrey Kolchin) // 3D artist
* Silvero (Iliya Abzaev) // developer
* ANet (Anna Ishina) // developer
* FadeToBlack (Alexey Egorov) // developer
* Silen (Vitaliy Sidorov) // game designer
* TmifX (Ivan Gulyaev) // developer
* Binstream (Denis Shergin) // CEO
* Pluton (Andrey Kushner) // lead 3D artist
* Brrrrr (Stanislav Zagniy) // 3D artist
* Manguste (Nadezhda Ovchinnikova) // technical writer

Missing on the photo: Jane (Eugenia Shergina), JL (Eugeniy Logvinov), Paralyzah (Michael Kondratyev).

PS: It was the opening night of "Harry Potter and the Half-Blood Prince" in Tomsk.
PPS: Siberian summer can be hot! but short as well :(

Tuesday, July 21, 2009

New script feature

Expression e0 = new Expression("133.0 * 133.0");
printf("%s\n",typeinfo(e0.run()));

Expression e1 = new Expression("{
int a,b,c,d;
return a + b + c + d;
}","a,b,c,d");
printf("%s\n",typeinfo(e1.run(1,2,3,4)));

Expression e2 = new Expression("{
string name;
File file = new File(name,\"rb\");
int size = file.getSize();
file.close();
delete file;
return size;
}","name");
printf("%s\n",typeinfo(e2.run("test.cpp")));



float: 17689
int: 10
int: 36339

Thursday, July 9, 2009

AMD_vertex_shader_tessellator

Don't provide tessellation for 3D artists, because the work will stop :)

Normal mapping:

Normal mapping + displacement:

Normal mapping + displacement wireframe:


Here is the video:


PS: The feature will be available in DirectX 11.

Saturday, July 4, 2009

Thursday, July 2, 2009

Unigine goes PS3

We made it, Unigine joined Tools & Middleware License Program for PLAYSTATION®3.

The process took 8 months to complete, it was kinda hard. Now we're going to get devkits and make the porting!

CPU Caches

Sometimes absolutely correct code can produces huge stalls because of cache misses.
For example if we have two 3D arrays: source ([128][128][16]) and destination ([16][128][128]) and we should copy data from source to destination.
Ordinary copying spends 5.0ms on old Athlon64 X2 3800+ CPU in this case.
But if we create a temporary copy array ([16][129][129]) and perform copying of data two times (from source to copy and from copy to destination), so copying time is only 1.9ms.