Rumors?

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
User avatar
psi29a
Posts: 5362
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Rumors?

Post by psi29a »

Animation skinning with skeleton, in OSG itself. http://trac.openscenegraph.org/projects ... inning.cpp

Updated yesterday.
User avatar
kojack
Posts: 14
Joined: 17 Feb 2015, 23:15

Re: Rumors?

Post by kojack »

Then they need to update their faq: http://trac.openscenegraph.org/projects ... upport/FAQ
Is there support for skeletal animation?

Check out osgCal which integrates the OSG with Cal3D, see http://osgcal.sourceforge.net/
Latest news from osgCal's home:
News?

May 4, 2007
osgCal2 0.3.0 preliminary version availble!
User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51

Re: Rumors?

Post by scrawl »

Because I'm curious like that, I made a benchmark today.

Rendering 100 copies of this tree, which has 52 batches (so over 5k batches total). It's a simple static mesh using vertex colors, and alpha blending for the depth-sorted leaves.
Image

Both tests were using the fixed-function pipeline only, and the materials (or statesets in OSG) are shared across tree instances. The tests were set up using the same camera position and FOV.

As expected, the Ogre version was constantly hitting 100% CPU on a single core. The OSG version was using ~22% total CPU distributed evenly across all 4 cores.

Ogre, StaticGeometry: 8 FPS
Ogre, Entities: 5 FPS
OSG: 24 FPS

The OSG rendering loop looks very pleasant in ApiTrace. It's using display lists, so when rendering the same drawable again and again, it just has to set up the modelview matrix, and call the display list:

Code: Select all

8951 glLoadMatrixd(m = {-0.6005843105276247, 0.7989320249646613, -0.03171893531236258, 0, -0.7397056921716324, -0.5702468243152931, -0.3572870640479368, 0, -0.3035357094879036, -0.1911183362755142, 0.9334558714139775, 0, 181.7426846593646, -156.1460129590916, -3209.728799778871, 1})
8952 glCallList(list = 32)
There's two options for rendering with an osg::Geometry, one using display lists (deprecated in GL3) and one using vertex buffer objects, but I couldn't find any performance difference between them.

Now I can't help but feel curious how Ogre 2.x would perform here, but I'm not going to write a third nif loader... at least not now.
User avatar
Sslaxx
Posts: 233
Joined: 12 Aug 2011, 18:59
Location: Malvern, UK
Contact:

Re: Rumors?

Post by Sslaxx »

To be clear, that's 22% total across all four cores (i.e. approx 5.5% per core) or is that 22% per core (for a total of 88%)?
User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51

Re: Rumors?

Post by scrawl »

22% of all the processing power available, so if evenly distributed, each core is also using 22% of its respective capacity.
User avatar
kojack
Posts: 14
Joined: 17 Feb 2015, 23:15

Re: Rumors?

Post by kojack »

Is that a tree from in the morrowind data? What's it's name?
User avatar
scrawl
Posts: 2152
Joined: 18 Feb 2012, 11:51

Re: Rumors?

Post by scrawl »

That's meshes\f\flora_tree_02.nif from Morrowind.bsa.
User avatar
dEnigma
Posts: 248
Joined: 24 Nov 2013, 21:24
Location: Hla Oad

Re: Rumors?

Post by dEnigma »

Sslaxx wrote:To be clear, that's 22% total across all four cores (i.e. approx 5.5% per core) or is that 22% per core (for a total of 88%)?
And Ogre is using 100% per core, so 400% total :mrgreen: SCNR
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Rumors?

Post by Zini »

Ogre, StaticGeometry: 8 FPS
Ogre, Entities: 5 FPS
OSG: 24 FPS
Woot!
User avatar
raevol
Posts: 3093
Joined: 07 Aug 2011, 01:12
Location: Caldera

Re: Rumors?

Post by raevol »

scrawl wrote:Ogre, StaticGeometry: 8 FPS
Ogre, Entities: 5 FPS
OSG: 24 FPS
So, it's great that OSG is getting 3x the fps of Ogre here, but I am curious as to why it's only able to render at 24fps when it's just rendering one seemingly simple model? Should't we be able to get hundreds of fps out of our renderer for such a simple scene?

EDIT: I'm assuming I'm just missing part of what went into the test- was this only using software rendering? Or on an intel card? Or some other restriction?
Post Reply