Horde3D

Next-Generation Graphics Engine
It is currently 27.04.2024, 11:13

All times are UTC + 1 hour




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: 07.03.2010, 20:21 
Offline

Joined: 07.03.2010, 19:38
Posts: 11
Hi, I just converted from irrlicht because it sucks.... 20 fps on 90k polygons no shaders OR shadowing

Is PSSM enabled by default? Does it take into account camera FoV, is it dynamic (meaning if the light changes position, such as sun moving across a sky), and does it take into account orthogonal culling etc. etc., and is only one buffer used for the splits (one buffer many times)? Is there any way of controlling how many splits there are?

I just want to ask you guys, what texture compressions do you use??? DXT1, 3 or 5?
EDIT: after an API read I have found out that it uses all, but is there any way of specifying which you want to use. Does horde3D support compressing uncompressed textures (tga, png, jpg and NOT dds)?

I also noticed that, like lightfeather, horde3d loads the settings and what it should do from a file... is THERE NO WAY of loading textures, creating render targets etc. in the code? could be Very Useful.

We need 3dc compression for normal maps.
The problem is that you have to disable compression for the texture in the material file... Instead of having compression on/off we shoudl have off/dxt1/2/3/3dc

If you give me enough links to ogl specs and examples, then I can implement this feature :)


Top
 Profile  
Reply with quote  
PostPosted: 08.03.2010, 00:40 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
devsh wrote:
Hi, I just converted from irrlicht because it sucks.... 20 fps on 90k polygons no shaders OR shadowing

Welcome to the horde community. Fortunately, horde is a bit more efficient than what you describe ;) although there are still a few low hanging performance fruits that I guess we will grab over the next months.

devsh wrote:
Is PSSM enabled by default? Does it take into account camera FoV, is it dynamic (meaning if the light changes position, such as sun moving across a sky), and does it take into account orthogonal culling etc. etc., and is only one buffer used for the splits (one buffer many times)? Is there any way of controlling how many splits there are?

h3dSetNodeParamI( light, H3DLight::ShadowMapCountI, numSplits ) controls the number of splits (0 disables shadow maps, 1 uses standard shadow mapping, max is 4). Cascades take into account the light FOV; updates are fully dynamic. The splits use an atlas (single texture with up to 4 quadrants).

devsh wrote:
I just want to ask you guys, what texture compressions do you use??? DXT1, 3 or 5?
EDIT: after an API read I have found out that it uses all, but is there any way of specifying which you want to use. Does horde3D support compressing uncompressed textures (tga, png, jpg and NOT dds)?

Right, all are supported. At the moment we don't support compression at load time any more (was removed when dds support was introduced). It can be too slow for a huge amount of texture data anyway. For the future, I would suggest to do the conversion/compression in the asset conditioning stage instead, for example with ColladaConv.

devsh wrote:
I also noticed that, like lightfeather, horde3d loads the settings and what it should do from a file... is THERE NO WAY of loading textures, creating render targets etc. in the code? could be Very Useful.

You can load and create textures from the code. You can also bind the output buffer of a pipeline in the code (e.g. to render a reflection texture). However, right now you can't modify the pipeline commands with the API.

devsh wrote:
We need 3dc compression for normal maps.
devsh wrote:
If you give me enough links to ogl specs and examples, then I can implement this feature :)

That would indeed be useful. Here is an excellent overview of normal map compression techniques. AFAIK, in OpenGL 3DC can be implemented with ATI_texture_compression_3dc (AMD hardware) and EXT_texture_compression_latc (Nvidia hardware).


Top
 Profile  
Reply with quote  
PostPosted: 08.03.2010, 20:07 
Offline

Joined: 07.03.2010, 19:38
Posts: 11
I shall use 3dc compression as it appears it is the only one without visible artifacts. Is there a format which saves in 3Dc natively?

Quote:
The splits use an atlas (single texture with up to 4 quadrants).

Okay so the setting ShadowMap resolution means I have a texture with e.g. 4 splits ... this means the 2048 texture divided into 4*1024 (This approach would suck) or a 4096*4096 texture?????
And guys, where do I modify this as I am going to use 4 PBOs (I wanna do 4 splits in one pass with geometry shaders and MRT).


Top
 Profile  
Reply with quote  
PostPosted: 08.03.2010, 21:36 
Offline

Joined: 15.06.2008, 11:21
Posts: 166
Location: Germany
I think you should implement geometry shaders for horde3d first -.-
Then one could create an additional light parameter to render into such textures.
At least it probably would be best to integrate geom shaders correctly at once as you probably want to use them much more later on.

And usually you want FBOs, not PBOs? Can anyone explain the difference?

btw, nice to see you found here. Come into the IRC channel if you can :)


Top
 Profile  
Reply with quote  
PostPosted: 08.03.2010, 21:54 
Offline

Joined: 07.03.2010, 19:38
Posts: 11
i thought you have geom shaders already...

so can anyone answear my question about the shadow map... is the size constant or constant*splits


Top
 Profile  
Reply with quote  
PostPosted: 08.03.2010, 22:03 
Offline

Joined: 15.06.2008, 11:21
Posts: 166
Location: Germany
From a look at the sources:
Quote:
if( !createShadowRB( Modules::config().shadowMapSize, Modules::config().shadowMapSize ) )


The maximum size in your case 2048 (so 4x 1024 * 1024). Why would this approach suck btw?


Top
 Profile  
Reply with quote  
PostPosted: 10.03.2010, 21:15 
Offline

Joined: 07.03.2010, 19:38
Posts: 11
cause usually more splits == more quality

and with a 4 times less pixels but 4 times more splits we are in the dangerous area, but if someone tested and confirmed they get better quality I believe them.


Top
 Profile  
Reply with quote  
PostPosted: 16.03.2010, 03:36 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
With cascaded shadow maps, the distribution of resolution between splits is not constant, else there would be no benefit of using them over standard shadow mapping. So having quarter resolution per cascade is reasonable.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 39 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group