Horde3D http://horde3d.org/forums/ |
|
Occlusion culling http://horde3d.org/forums/viewtopic.php?f=1&t=79 |
Page 1 of 1 |
Author: | SpOOky [ 12.05.2007, 13:19 ] |
Post subject: | Occlusion culling |
consulting the documentation i`ve read that you can enable occlusion culling, but looking at the feature list, i see that this is a feature yet to be implemented. so, is occlusion culling a feature available in 0.10.0? |
Author: | marciano [ 12.05.2007, 15:18 ] |
Post subject: | |
Actually I planned to include occlusion culling in the first release because I had already implemented it in a previous engine. But I didn't find the time and since we didn't have any special use for that feature at that time I postponed it. Obviously I forgot to remove the parameter from the API. Probably it will finally come with version 0.12, since my schedule for the next release (0.11) is already full with implementing the particle system and improving integration for physics and game engines. |
Author: | SpOOky [ 12.05.2007, 17:13 ] |
Post subject: | |
now i understand. still i consider that occlusion culling is a very important feature that even though it adds great performance boosts it is sometimes overlooked. i cant wait to see it integrated into horde still from what i have read the next release seems to be feature packed! the particle system is great, but more important for me is physics integration. if you are going to integrate an existing lib, might i vote for Ageia`s PhysX? do you have an eta on the next release? paul |
Author: | mabrown [ 13.05.2007, 04:24 ] |
Post subject: | |
Regarding the usage of physics and game engines with Horde, how will that work? Will we have functions in the Horde api which make the physics/game engine usable directly from Horde, or will the engines be hooked to Horde somehow and require usage of functions from the physics/game engine side? I ask because one of Horde's great features is its easy usage from non-C++ languages. If Horde uses a particular external engine dll and I need to access functions in that dll, then I'll need to wrap that dll for use with Euphoria. It would negate Horde's easy interfacing if I cant link to the physics/game engine. I didn't realise that Nic was already working on this stuff, so I have been investigating physics engines. Both Newton and ODE appear to have regular C dll interfaces which make them usable from almost any language, in keeping with the Horde philosophy. Do any of these physics engines do soft body/fluid simulation? Mark |
Author: | SpOOky [ 13.05.2007, 08:21 ] |
Post subject: | |
physX has softbody simulation (alias cloth) and fluids (but from what ive read fluids are available only on their hardware). the physics lib was commercial first with a big price tag, used in the unreal engine and many others. but since ageia release its physics hardware it is now free even for commercial use personally i do not know about those that you are inquiring about, i havent used them, mainly because ODE is hard to implement and Newton is slow paul |
Author: | mabrown [ 13.05.2007, 12:12 ] |
Post subject: | |
Thanks for the info Paul. I hadn't heard of physX. I'll do a google. Mark |
Author: | marciano [ 13.05.2007, 14:30 ] |
Post subject: | |
Horde is a pure graphics engine so we don't integrate physics directly. But of course some easy methods for communication between the modules are required. Basically there are two ways to do the integration. You can do the communication from a separate central instance, meaning you have your game object which stores a handle to a Horde scene node. Now if you change the position of your object you tell Horde about it and you tell the physics engine. But you also need to do some polling to check if the scene node was changed by Horde because of animation or similar things. This should be working but it means some overhead. That's why we have developed a new concept, the Horde integration library with a node attachment. Basically that's a tiny class from which your own game classes can be derived. Now you can attach your class directly to a scene node and you get an event when the scene node changes or you can tell the scene node to change. It is a simple hook directly into the scene graph which makes integration really easy an efficient. Another cool thing is a hook into the scene graph resource parser. You can get notified when attachment data is found and can automatically construct your game classes and use XML data for configuration. But should work with physics, 3d sound, or AI and game actor classes, actually everything you need for a game. We have tested that concept with a physics engine integration. We have used Bullet, a quite nice and powerful open source physics engine. Everything works fine so far. One of my fellow researchers has created a little C-library for that which will probably be released. The cool thing is: this library currently has two functions, for initialization and update. For configuring your physics objects you just have to add a special physics node to the scene graph files and then everything else is happening automatically. This is all easily possible with the integration library. As far as I know Bullet doesn't support soft bodies but rigid bodies is also nice for the beginning. Integrating PhysX shouldn't be difficult, I had a quick look and the concepts are the same. Ok, Mark I think I have shocked you now with having a class in the Horde interface. I have absolutely no plans to give up the interface style we have. It is only the small integration library which uses some (currently one) classes. You don't need them to use Horde but creating a fully featured game engine is made much more convenient and efficient this way. For euphoria you could use the little Horde physics DLL about which I talked about and wrap it's functions. |
Author: | marciano [ 13.05.2007, 15:17 ] |
Post subject: | |
Spooky, concerning the ETA: The integration library is done so far, now I have started work on the particle systems. Currently there is a plenty of not-Horde related other things for me to do so I think a month from now could be realistic. |
Author: | SpOOky [ 13.05.2007, 17:22 ] |
Post subject: | |
i can w8 a month or so . i was afraid that it would take more anyways you are going to see me a while browsing the forums as horde is the engine that suits me. in time i hope i`ll start making some meaningful posts and even help other ppl but now i must get back to learning paul |
Author: | mabrown [ 14.05.2007, 12:37 ] |
Post subject: | |
marciano wrote: Ok, Mark I think I have shocked you now with having a class in the Horde interface. I have absolutely no plans to give up the interface style we have. It is only the small integration library which uses some (currently one) classes. You don't need them to use Horde but creating a fully featured game engine is made much more convenient and efficient this way. For euphoria you could use the little Horde physics DLL about which I talked about and wrap it's functions.
Thanks for the very comprehensive answer Nic. I am glad that you are looking at ways to make this possible for those of us who are C++ challenged I'm now thinking that a simple submarine sim, something like the old game "Silent Service" might be a good starting point. Particles and physics will work in well with that. I've been messing with loading my own low-poly ship models into the Chicago demo, playing with attaching the camera to one ship so that I can look at the other ships from it etc. All good fun! Mark |
Author: | marciano [ 14.05.2007, 22:34 ] |
Post subject: | |
That sounds like a good idea for a first project. It isn't too complex but gives you the opportunity to experiment with some advanced stuff like creating a nice water shader (with environment mapping, some waves and so on). |
Page 1 of 1 | All times are UTC + 1 hour |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |