Welcome, Guest. Please login or register.
Did you miss your activation email?
September 10, 2010, 09:58:08 am
Pages: 1 2 [3] 4 5 6 7 ... 27   Go Down
  Print  
Author Topic: "Outdoor shadows solution for Quest3D" (source code available for purchase)  (Read 17971 times)
Viktor Kuropyatnik
VRM Team

Quest3D 3 Lite EditionQuest3D 4 Power Edition

May 22, 2009, 08:43:23 pm
This is pre-final demo.
Now all four splits are used, so you get shadows up to your far frustum plane. Model in this demo has 146k of polygons and rendered as single mesh, in real app you will have a separate models and performance will be better because of the frustum culling.
Screenshots:

full size: http://i6.photobucket.com/albums/y245/ViiKzzz/PSSM_pre-final_01.jpg

full size: http://i6.photobucket.com/albums/y245/ViiKzzz/PSSM_pre-final_02.jpg

full size: http://i6.photobucket.com/albums/y245/ViiKzzz/PSSM_pre-final_03.jpg

full size: http://i6.photobucket.com/albums/y245/ViiKzzz/PSSM_pre-final_04.jpg

I'm working on further optimization right now. If you interested, please test demo on your PC and post here results. CPU in this demo is as much important as GPU. Right now PC with lower videocard but newer CPU gives 20 Fps more than on my PC.

@Olaf
Looks like issue was with AA, now it should work fine.

Forgot one thing - when you run demo camera will be somehere at the center of the project, look around and move to the palm trees Wink

Grab demo:
« Last Edit: May 26, 2009, 12:11:28 am by Viktor Kuropyatnik »
Renzo Sánchez
www.ArtiGames.com

Quest3D 1 Non CommercialQuest3D 2 Professional EditionQuest3D 3 Creative EditionQuest3D 3 Power EditionQuest3D 4 Power Edition

May 22, 2009, 09:43:56 pm
Nice work Viktor!!!

Intel Core 2 1.66Ghz - 1GB Ram
GeForce 8700M GT
1440x900

20 FPS SSAO on
30 FPS SSAO off

This is strange, I copied the file to a PC without any q3d installation and I got the error:
"Windows cannot access the specified device path, you may not have the appropiate permissions to access the item"
Hector Zapata


Quest3D 1 Non CommercialQuest3D 2 Professional EditionQuest3D 3 Lite Edition

May 23, 2009, 09:02:30 am
This is one of the best demos I've ever seen. Congratulations!
Excellent work, it looks impressive.
ali rahimi shahmirzadi
www.ali-rahimi.net

Quest3D 4 Power Edition

May 23, 2009, 09:37:52 am
Great job. It work fine for me. 9800 gx2. Dose it work with hardware instancing alpha? Cant wait to see the source.
Viktor Kuropyatnik
VRM Team

Quest3D 3 Lite EditionQuest3D 4 Power Edition

May 23, 2009, 10:12:20 am
Thank you for nice words )))
I hope more people will be able to test it on monday, it's quite silent here on forum during weekends.

@Ali
Sure, shader for 3d objects is almost the same as for SSAO. It will work with everything - animated characters, half opaque objects and etc. It will work for transparent glass as well, translucent shadows are not supported, but you can have a glass that is covered by shadow, so you can adjust reflection and etc.
Daan Willems
3D capacity

Quest3D 3 Creative EditionQuest3D 4 Creative Edition

May 23, 2009, 12:01:57 pm
Viktor, nice work! However, I have a strange dark area in the lower half of the screen. See attached image. HD4870 Crossfire. I though it might have been Crossfire related, but disabling that didn't remove the artifact.


* viktor_demo_screenshot.jpg (534.43 KB, 1920x1200 - viewed 98 times.)
Jos van Ouwerkerk
3D capacity

Quest3D 2 Professional EditionQuest3D 4 Power Edition

May 23, 2009, 12:24:02 pm
Viktor, nice work! However, I have a strange dark area in the lower half of the screen. See attached image. HD4870 Crossfire. I though it might have been Crossfire related, but disabling that didn't remove the artifact.
Then it might be interesting to check it on a single HD4850 here. Same chip as the HD4870, so that should give a final verdict over the crossfire relation.

Edit: Same result here on a single HD4850.
« Last Edit: May 23, 2009, 12:30:37 pm by Jos van Ouwerkerk »
Jose Luis Gallardo Llopis
3D Visual Effects

Quest3D 2 Professional Edition

May 23, 2009, 12:30:35 pm
Hi test on my computer.

Something wrong with alpha textures:



Great work Viktor, but i thing still need a lot of optimisation for professional use, too low for me.

I get 6 FPS wirh SSAO, without it 12 FPS.

MAC PRO 4 XEON 2.66 GHZ
NVDIA QUADRO FX 4500 PCI EXPRESS 512 GB
1920x1200


One question? Yeah i know this scene could be more optimised, culling, ... But i real games, although optimisation, there a huge more objects and shadows doesn´t drop down so much FPS.

I have seen progressive quality of shadow depending on distance camera position.

Viktor Kuropyatnik
VRM Team

Quest3D 3 Lite EditionQuest3D 4 Power Edition

May 23, 2009, 01:30:35 pm
@Jos Daan
I'm using flat camera and rotated square to calculate shadows, it looks like on that videocard quad is a bit rotated, I had the same bug on my PC but in top part of the screen )) I'll rotated quad in max and reexport it into Q3D then.

@Jose Luis
Issue with alpha is because of the alpha test, it might not work on your card with 32bit render target, but it can be achived other way, by culling pixels in shader.
The performance results are bit strange. How fast SSAO demo work on your PC? :
http://3dvrm.com/ssao/ssao_hybrid_example_v3_3.exe

How this demo work for you with two times smaller resolution? Does FPS change when whole screen is covered by geometry and you can't see sky? I'm trying to understand where is a bottleneck.

Quote
But i real games, although optimisation, there a huge more objects and shadows doesn´t drop down so much FPS.
During development of real games you usually have ability to manage render states, group geometry on fly, manage index and vertex arrays and other stuff, that cannot be controled in Q3D right now. I'm not saying that's it's slow because of this, here the reason for so slow performance is different, but it's still important to consider during comparison. I'll look what causing such a slow performance on your type of computer.

These shadows work better if scene is made from separate objects. Right now there are only two objects - palm leaves and everything else. In total it's 146k of triangles, rendered six times for one frame: depth, split1 ... split4, diffuse. In real project you will use separate objects and frustum culling will cut most of the scene. You still can have worst case scenario - you see whole scene and there is no LOD system at all.

Quote
I have seen progressive quality of shadow depending on distance camera position.

I'll try to vary shadow blur factor with distance. But it won't give big performance boost.
« Last Edit: May 23, 2009, 01:46:11 pm by Viktor Kuropyatnik »
Paris J


Quest3D 3 Power EditionQuest3D 4 Power Edition

May 23, 2009, 02:00:37 pm
System: DELL Precision M6300
CPU:    Intel(R) Core(TM)2 Duo CPU T9300  @ 2.50GHz (2 CPUs)
GFX:    NVIDIA Quadro FX 3600M 512MB


Test Results:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WINDOWED 1440x900 60Hz (Whole scene in view)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SSAO ON : 51
SSAO OFF: 72


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FULLSCREEN 1440x900 60Hz (Whole scene in view)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SSAO ON : 30
SSAO OFF: 60


Viktor, you probably want to (in future) specify what res and viewport content
you tested with, so we can work with an identical test setup.

E.g.Maybe have a [ x ] checkbox option to lock the viewport into a specific resolution
and orientation, so we are all forced to use the same test criteria?
(..otherwise the test results will be meaningless if a partial shadow view or lower res was used).
Jos van Ouwerkerk
3D capacity

Quest3D 2 Professional EditionQuest3D 4 Power Edition

May 23, 2009, 02:58:14 pm
I'm using flat camera and rotated square to calculate shadows, it looks like on that videocard quad is a bit rotated, I had the same bug on my PC but in top part of the screen )) I'll rotated quad in max and reexport it into Q3D then.
Just use the standard plane with the camera matrix as parent. And then add the correct projection calculations. That seems to work everywhere.
John Fongheiser


Quest3D 2 Professional Edition

May 23, 2009, 03:21:10 pm
Your demo worked very nicely on my recently upgraded system. I only wish the scene had textures  Smiley.

60.00 FPS with SSO on or off, 1600x1200 full screen

AMD Phenom 9950 Quad-core 2.60 GHz, 8G RAM Windows XP 64
NVIDIA GeForce GTX 285 (cooling fan running full speed)
Tom Beddell


Quest3D 1 Non CommercialQuest3D 2 Lite EditionQuest3D 2 Professional EditionQuest3D PartnerQuest3D 3 Creative EditionQuest3D 3 VR Edition

May 23, 2009, 03:39:48 pm
20 fps @ 1920*1200 full screen

2*9800M GTX in SLI

Looks great!
Jose Luis Gallardo Llopis
3D Visual Effects

Quest3D 2 Professional Edition

May 23, 2009, 04:55:29 pm
Quote
How this demo work for you with two times smaller resolution? Does FPS change when whole screen is covered by geometry and you can't see sky? I'm trying to understand where is a bottleneck.

This test are made with 640x400 Windowed mode:



I don´t know what´s wrong to see the demo so slow.

Ok. I don´t have any skill like you about professional programming, but could it be possible to make one pass (from the 4 one) with high values and with clear plane after some distance and the other pass with lower samples from this distance up to the end.

The objective is to give more detail shadows for short distance to camera, and for those objets away from camera lower detail (something like LOD but with shadows).
Viktor Kuropyatnik
VRM Team

Quest3D 3 Lite EditionQuest3D 4 Power Edition

May 23, 2009, 06:17:44 pm
Quote
I don´t know what´s wrong to see the demo so slow.

Ok. I don´t have any skill like you about professional programming, but could it be possible to make one pass (from the 4 one) with high values and with clear plane after some distance and the other pass with lower samples from this distance up to the end.

The objective is to give more detail shadows for short distance to camera, and for those objets away from camera lower detail (something like LOD but with shadows).
Looks like I've found the reason, depth and shadows are using 32bit textures, if I switch to 16bit, it runs better on latest card and should run much better on older one. For older hardware you can switch off SSAO and it will run even better, the shadows are more important anyway. Switchin off shadows bluring gives a frame boost as well. GTA IV is not bluring it's shadows at all.
Using 16bit comes with a price, SSAO get's a bit buggy but diffuse texture would hide it.
Now I need to get a better precision for shadow maps with 16bit.

You right, a kind of LOD is already done, there are 4 shadow maps, all have the same size but they cover different area, this way you get a better resolution close to the camera and much lower further. To calculate shadow term I'm using four jittered samples of PCF, this is the smallest amount of PCF that can be done. With 24bit hardware shadow maps it should run even faster, but we will have them only in 4.3.
Another way to improve speed is to use square sized shadow maps, right now they are the same size as screen resolution (maximum possible resolution for render to texture) and as it's "non-power of two" size it might run slow. As an option is to fix their resolution to 1024x1024, later depending on resolution Q3D will scale them down automatically to closest "power of two" size.

I'll post 16bit version a bit later, need to fix precision bugs.

EDIT: It can be related to CPU as well - Paris has a slower videocard but better CPU, 4 cores of Xeon dosn't metter that much as Q3D uses only one.
« Last Edit: May 23, 2009, 06:21:22 pm by Viktor Kuropyatnik »
Pages: 1 2 [3] 4 5 6 7 ... 27   Go Up
  Print  
 
Jump to:  

Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC