Author Topic: Level Of Detail  (Read 11606 times)

Offline cyberkilla

  • float
  • ****
  • Posts: 413
    • View Profile
    • http://futurerp.net
Level Of Detail
« Reply #15 on: February 27, 2007, 01:43:42 am »
Quote from: "raft"
Quote from: "cyberkilla"
I am VERY glad I did the skeletal animation. Ive tested it roughly, but I suggest you let me test it a little more with a better model, before you consider it, Raft;).


sure, it will take some time to use it in karga since it requires quite a modification on some parts ;)


Yes, indeed:) If you need control over timeframes, or something of this nature, it should be minimal work for me to add for you.
I know you have some novel utilities to pair animation sequences:).
http://futurerp.net - Text Based MMORPG
http://beta.rpwar.com - 3D Isometric MMORPG

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12295
    • View Profile
    • http://www.jpct.net
Level Of Detail
« Reply #16 on: February 27, 2007, 01:45:27 am »
Quote from: "raft"
Egon, how effective is the clipping plane ? i mean, in a 50.000 polygon world, if clipping plane lets 5000 polygons to be rendered, will it perform as good as rendering a 5000 poly scene ? how much is the overhead ?
It depends: Culling on the clipping planes (not just the far one) happens per object (based on its bounding box), per octree-node and finally per polygon. The most efficient of these are the octree-nodes, because you can cull away very large parts at once. A 50.000 polys scene with 5000 visible polygons can't perform as good as a scene with only 5000, but the overhead (with octrees) should be neglectable. When splitting the scene into single objects, the overhead is larger because there is no hierarchy information like there is in the octree. Culling individual polygons is the killer(tm) or course.

Offline raft

  • quad
  • ******
  • Posts: 1993
    • View Profile
    • http://www.aptalkarga.com
Level Of Detail
« Reply #17 on: February 27, 2007, 01:55:10 am »
Quote from: "cyberkilla"
Yes, indeed:) If you need control over timeframes, or something of this nature, it should be minimal work for me to add for you.

i would certainly need that, as i switched to delta time approach in karga. it's like Egon's tick based approach but instead of ticks i use passed seconds :D
Quote from: "cyberkilla"
I know you have some novel utilities to pair animation sequences:).

that's another story ;) i hope ogre's exporters wont make any trouble to me on those..
Code: [Select]
r a f t

Offline raft

  • quad
  • ******
  • Posts: 1993
    • View Profile
    • http://www.aptalkarga.com
Level Of Detail
« Reply #18 on: February 27, 2007, 02:05:34 am »
Quote from: "EgonOlsen"
It depends: Culling on the clipping planes (not just the far one) happens per object (based on its bounding box), per octree-node and finally per polygon. The most efficient of these are the octree-nodes, because you can cull away very large parts at once. A 50.000 polys scene with 5000 visible polygons can't perform as good as a scene with only 5000, but the overhead (with octrees) should be neglectable. When splitting the scene into single objects, the overhead is larger because there is no hierarchy information like there is in the octree. Culling individual polygons is the killer(tm) or course.


so this may well worth a try ;) merge the whole scene into a single object, use octrees on it, set clipping plane to a reasonable value, place LoD planes just at clipping plane's border.

the missing part is, i dont want to/cant merge the whole scene into a single object because of our infamous climbing problem. i do use collison meshes for buildings, trees etc. that's i need them as seperate objects. maybe implementing an inter-object octree system and setting far ones invisible may help, indeed setting them invisible depending on a simple distance check may also help..

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12295
    • View Profile
    • http://www.jpct.net
Level Of Detail
« Reply #19 on: February 27, 2007, 08:52:21 am »
Quote from: "raft"
so this may well worth a try ;) merge the whole scene into a single object, use octrees on it, set clipping plane to a reasonable value, place LoD planes just at clipping plane's border.

the missing part is, i dont want to/cant merge the whole scene into a single object because of our infamous climbing problem. i do use collison meshes for buildings, trees etc. that's i need them as seperate objects. maybe implementing an inter-object octree system and setting far ones invisible may help, indeed setting them invisible depending on a simple distance check may also help..
Then just use the octree on the objects that can be merged. An octree implementation that covers multiple objects costs more than it gives IMHO. Culling away single objects isn't that expensive.