Pages: 1 [2] 3 4 5 6 ... 30   Go Down
  Print  
Author Topic: "Outdoor shadows solution for Quest3D" (source code available for purchase)  (Read 104983 times)
May 14, 2009, 09:10:22 pm
Very nice. I have 12-14 FPS at 1440x900 with SSAO on and 20 with SSAO off.

Viktor, are you considering that in a real project you will have many objects and many surfaces per object? You said in an early post that the effect could be applyed as a post-process, so no matter the amount of surfaces or objects. Is that what you are doing, a post-process?

Did you consider at any time, to make a custom hardware stencil shadow? I ask because with stencil shadows, you don't have the problem of use shaders in each surface, and the resolution is very good. I have a project of a big city using stencil shadows and it is not bad. I would like to know your opinion about that.
May 14, 2009, 09:46:59 pm
Quote
Viktor, are you considering that in a real project you will have many objects and many surfaces per object? You said in an early post that the effect could be applyed as a post-process, so no matter the amount of surfaces or objects. Is that what you are doing, a post-process?

Yeap, the idea is following, but be aware that it's not implemented to full extent yet:
1) You render scene depth and some additional values into single 32bit texture.
2) Render all objects that are seen in camera of the first shadow split.
3) Repeat step 2 for all shadow splits.
4) Calculate SSAO using scene depth and write it to texture
5) Using scene depth and shadow maps of all splits calculate shadow contribution in visible part of the scene and write it to the texture (optionally you can put SSAO into the same texture)
6) Use shadows and SSAO from texture to shade your object using shaders or apply SSAO and shadows as post-process. Last one completely removes any need of applying shaders to every surface but limits your shading abilities.

During steps 1,2 and 3 all opaque objects seen by camera can be collapsed into one object, half transparent objects like grass billboards rendered separately with slightly different shader, for this you don't need to apply shader to each surface of every object, you apply them only to collapsed "super-objects". I did'nt tested collaps procedure yet.

Quote
Did you consider at any time, to make a custom hardware stencil shadow? I ask because with stencil shadows, you don't have the problem of use shaders in each surface, and the resolution is very good. I have a project of a big city using stencil shadows and it is not bad. I would like to know your opinion about that.
Unfortunately this type of shadows are hard to use with highpoly or not specially made models, this is quite common for real estate projects. One of my goals is to build a technical workflow, that would require minimum art work to get existing architecture model into real-time.
At the same time there is quite a nice article in GPU Gems 3:
http://http.developer.nvidia.com/GPUGems3/gpugems3_ch11.html
I would like to try it but it requires at least DX10.

I'm short on time right now, we can discuss it in more details if you want.

Upgrade to PSSM is available for SSAO customers. Check http://www.3dvrm.com/shadows_solution/ for details.
May 14, 2009, 10:17:28 pm
whoa looks very promising  Yummie

very good work so far. It's a bit slow right now but we know you  Grin

thumbs up

micha

May 15, 2009, 12:43:33 am
Quote
During steps 1,2 and 3 all opaque objects seen by camera can be collapsed into one object...
Be aware that in step 2, you can't collapse the objects if they use different materials or textures, so in a real project you will have many surfaces because of the materials and textures.

Quote
Unfortunately this type of shadows are hard to use with highpoly or not specially made models, this is quite common for real estate projects. One of my goals is to build a technical workflow, that would require minimum art work to get existing architecture model into real-time.
But keep in mind that in real project you will require some art work in order to have a good performance, specially if you are involved in a big project, and after all your 'Parallel-split shadow maps' are for use in big enviroments  Smiley

I will give you a real example with my project. It is just a section of a city. I have 3 copies of each section, one for render, another for shadows and another for collision.

City section A for render:
Vertices = 8 385
Faces = 14 756

City section A for shadow:
Vertices = 4 820
Faces = 9 076

City section A for collision:
Vertices = 1 411
Faces = 1 334

Take into account that in the version of my city for render, I am using a lot of DP's calls, because of textures, materiasl, shaders, etc. But in the version for shadows I use just 1 DP call and in the version for collision 8 DP's calls because of contact behavior.

So, anyway using your Parallel-split shadow in a real project, I would have a version of my city for depth. It could save a lot of FPS.

It's not that hard to prepare models for stencil shadows. In 3ds max, you hace to use the 'STL Check' modifier, an make sure to have 0 errors, and then make sure that you don't have 2 vertices at the same position. I use STL Check and then my own script to find vertices at the same position. This way is very fast to prepare a model.


* City render.JPG (63.36 KB, 914x450 - viewed 700 times.)

* City shadow.JPG (52.76 KB, 1028x493 - viewed 701 times.)

* City collision.JPG (65.15 KB, 1010x496 - viewed 716 times.)
May 15, 2009, 12:55:16 am
Here is a picture of how it looks like in q3d.


* City in Q3d.JPG (69.45 KB, 1002x458 - viewed 733 times.)
May 15, 2009, 04:31:09 am
Really good work Viktor Smiley
May 15, 2009, 08:05:13 am
This is shaping up nicely, Viktor! Thumbs up! Smiley
I get 30fps @ 1920x1200 (fullscreen) with a GTX 285.
May 15, 2009, 08:34:14 am
@ Micha, Tom and Peter
Thank you guys! It will be faster.

@Renzo
Quote
Be aware that in step 2, you can't collapse the objects if they use different materials or textures, so in a real project you will have many surfaces because of the materials and textures.
We would be able to do it in 4.3 in real-time and collapse only visible objects not all of them. If not, smart material can be used.

Quote
But keep in mind that in real project you will require some art work in order to have a good performance, specially if you are involved in a big project, and after all your 'Parallel-split shadow maps' are for use in big enviroments
3D model in demo is a direct model from architect, the only thing that I did with it, was deleting railings, as they was extremely high poly. In total there are 461 000 triangles and this is aproximately only third part of the scene. I'm trying to avoid remodelling from skretch. It would take quite a lot of time to remodel it for stencil shadows.
Quote
It's not that hard to prepare models for stencil shadows. In 3ds max, you hace to use the 'STL Check' modifier, an make sure to have 0 errors, and then make sure that you don't have 2 vertices at the same position. I use STL Check and then my own script to find vertices at the same position. This way is very fast to prepare a model.
Unfortunately I didn't had such a nice experience with them. Several times stencil shadows didn't worked for me, I woudn't say that geometry was OK, it's definately wasn't, but if I can't find why it's not OK it's just a deadend. Another issue is that you can't control them as shadow maps, I don't know how using stencil I can mask specular or SSAO for example.
Btw, what's wrong with current implementation of stencil shadows in Q3D? Why you need a custom implementation?

Upgrade to PSSM is available for SSAO customers. Check http://www.3dvrm.com/shadows_solution/ for details.
May 15, 2009, 09:24:32 am
stencil shadows sucks. Also they depend heavily on your scene. It can happen that suddenly your fps will drop considerable.

Yes richt now you can use smart material. Remko is working on a better global shader. But for your static scene you can already use a global shader approach.

You should definitely take a look at the new 4.3 beta 4

May 15, 2009, 03:10:44 pm
Quote
Btw, what's wrong with current implementation of stencil shadows in Q3D? Why you need a custom implementation?
The problem is that it is Software Stencil Shadow, and the performance is not good. Hardware Stencil Shadows doesn't work. So, I would need a Hardware Stencil Shadow that works.

Quote
You should definitely take a look at the new 4.3 beta 4
Is the documentation up to date?
May 16, 2009, 01:47:12 pm
viktor, on 7950gtx your demo won't work. i see only the GUI, the bounding-box and the background, but no other objects. i also get only 3fps regardless if SSAO is on or off.
May 16, 2009, 03:04:53 pm
viktor, on 7950gtx your demo won't work. i see only the GUI, the bounding-box and the background, but no other objects. i also get only 3fps regardless if SSAO is on or off.
Strange, that might be because of the 32bit texture or clip function. I'm sure that this can be fixed. Stay tuned )))

Upgrade to PSSM is available for SSAO customers. Check http://www.3dvrm.com/shadows_solution/ for details.
May 17, 2009, 02:05:24 am
Nice work again. Did you see cryengine3_improved_ssao_with_normals


ali-rahimi.net
May 17, 2009, 10:45:45 am
Yeap. I had version of SSAO without self-occlusion before, it takes more performnce and gives less volume. The same efect can be achived with my implementation by simply changing contrast of ssao.

Upgrade to PSSM is available for SSAO customers. Check http://www.3dvrm.com/shadows_solution/ for details.
May 22, 2009, 08:41:21 pm
...

Upgrade to PSSM is available for SSAO customers. Check http://www.3dvrm.com/shadows_solution/ for details.
Pages: 1 [2] 3 4 5 6 ... 30   Go Down
  Print  
 
Jump to: