In the DirectX 11: Tessellation in Stalker: CoP, Dirt 2, Unigine and Alien vs. Predator article people mentioned that only our art sample really utilizes tessellation capabilities to improve image quality: "Only one that was a visually significant improvement was the displacement mapping on the roof. That should be a nice improvement over the various surface mapping techniques, bump, normal, POM, etc. that don't do nearly as good a job."
All hail our artists, who created that art asset! By the way, stay tuned for much more.
Wednesday, September 30, 2009
Monday, September 21, 2009
Fried meshes
* [20090930] Values for HD4870 and Direct3D11 are updated (it was a debug runtime:(
Huge crowd rendering can be accelerated by baking skinned meshes into static meshes in runtime. But there is no easy way to do it because of API and hardware limitations.
The scene consist of 49 characters and each character is rendered 6 times. Tables contain millions of polygons per second. There are no tests for low-level cards. But on such cards performance gain is very substantial. And there are no tests for OpenCL because of incomplete drivers.
The first two rows describe direct rendering of skinned meshes:
"Raw" is a single mesh per draw call.
"Inst" is multiple meshes per draw call.
The other rows describe different backing techniques:
"Raw" corresponds to backing single character per call between characters rendering.
"Inst" corresponds to backing 32 characters per call before characters rendering.
OpenGL:
PBO: works well on all cards but instancing is required.
FeedBack: requires DX10 level card and doesn't work on ATI cards now.
CUDA: requires NVIDIA DX10 level card. Also instancing is very important.
Direct3D9:
R2VB: is ok on ATI and NV40. But we can't use this technique with NVIDIA DX10 cards.
CUDA: same as CUDA under OpenGL.
Direct3D10:
StreamOut: there is absolutely no problem with this technique.
CUDA: same as CUDA under OpenGL.
Direct3D11:
StreamOut: same as StreamOut under Direct3D10.
DirectCompute: instancing is also very important on NVIDIA hardware.




Huge crowd rendering can be accelerated by baking skinned meshes into static meshes in runtime. But there is no easy way to do it because of API and hardware limitations.
The scene consist of 49 characters and each character is rendered 6 times. Tables contain millions of polygons per second. There are no tests for low-level cards. But on such cards performance gain is very substantial. And there are no tests for OpenCL because of incomplete drivers.
The first two rows describe direct rendering of skinned meshes:
"Raw" is a single mesh per draw call.
"Inst" is multiple meshes per draw call.
The other rows describe different backing techniques:
"Raw" corresponds to backing single character per call between characters rendering.
"Inst" corresponds to backing 32 characters per call before characters rendering.
OpenGL:
PBO: works well on all cards but instancing is required.
FeedBack: requires DX10 level card and doesn't work on ATI cards now.
CUDA: requires NVIDIA DX10 level card. Also instancing is very important.
Direct3D9:
R2VB: is ok on ATI and NV40. But we can't use this technique with NVIDIA DX10 cards.
CUDA: same as CUDA under OpenGL.
Direct3D10:
StreamOut: there is absolutely no problem with this technique.
CUDA: same as CUDA under OpenGL.
Direct3D11:
StreamOut: same as StreamOut under Direct3D10.
DirectCompute: instancing is also very important on NVIDIA hardware.





Sunday, September 13, 2009
GDC Europe 2009
Tuesday, September 8, 2009
Thursday, September 3, 2009
Saturday, August 22, 2009
Middleware in games
There is a good article in the August issue of Game Developer Magazine about middleware, here is a quote from there:
"It's long been appreciated that using game engines and middleware libraries can get the team up and running more quickly on the target platform during the development process, allowing artists and designers to mock up the game much earlier. Commenters noted, "While middleware is not perfect, it allows us to concentrate on the areas that really make our game different, rather than implement basics. But programmers tend to not like [middleware] because it makes their lives more difficult [and the naive ones think they can do it better]."
"It's long been appreciated that using game engines and middleware libraries can get the team up and running more quickly on the target platform during the development process, allowing artists and designers to mock up the game much earlier. Commenters noted, "While middleware is not perfect, it allows us to concentrate on the areas that really make our game different, rather than implement basics. But programmers tend to not like [middleware] because it makes their lives more difficult [and the naive ones think they can do it better]."
Friday, August 7, 2009
CPU Caches 2
To achieve maximum performance of multi-threaded application you should run same jobs on same threads (CPU's). It's very important for applications based on small thread jobs.
Thursday, August 6, 2009
Physics status
Performance and stability of physics is much improved and it's not a final result:)
State of all physical objects can be stored into the special buffers. In this demos this buffers are used for time wrapping effect:
This is a heap of joints:
And funny stuff with homuncles:)
State of all physical objects can be stored into the special buffers. In this demos this buffers are used for time wrapping effect:
This is a heap of joints:
And funny stuff with homuncles:)
Sunday, August 2, 2009
Saturday, August 1, 2009
Timetable
Average timetable of last week:
18:00 home power on
19:00 office work on
11:00 office work off
11:30 home power off
18:00 home power on
19:00 office work on
11:00 office work off
11:30 home power off
Subscribe to:
Posts (Atom)