I propose a list; What PyPRP does, and does not support

Announcements and discussion regarding any projects related to Cyan Worlds' Plasma Engine including (but not limited to) CyanWorlds.com Engine, Drizzle, OfflineKI, PyPRP, and libHSPlasma.

Re: I propose a list; What PyPRP does, and does not support

Postby Jamey » Sun Mar 15, 2009 9:02 am

Jojon wrote:
Jamey wrote:If the engine won't be needing sub-worlds, how will we be able to make things like elevators and things like that in our ages? Is there a different method I don't know about?


As Grog said; just plain physics. When YOU stand in an real world elevator and it goes up, the floor pushes up unto your feet, transfering momentum -- this is what we SHOULD have in the game as well. During the development of Plasma, however, the coders ran into some difficulties with this (I am not sure what, probably team A wrote the animation subsystem and another the physics interface and a third the avatar collision detection and then "Oh, do we have to make these three interact?!..and in two days?", or it simply sucked CPU cycles ;P), so they introduced the concept of subworlds as a workaround.

No intertia, by the way? Err, then why do we have a mass property? (not that the avatar seems to have any greater difficulties stopping a moving five ton object dead in its tracks... :P)

I guess the MystV build had some cloth simulation implemented, if nothing else. :7


I've toyed around with cloth simulation myself in Blender and have seen some amazing results, so I'm hoping we could fully implement that as well. Having kickable softbodies would be pretty fun as well :P
KI#46415
Jamey
 
Posts: 528
Joined: Sat Oct 20, 2007 8:32 pm
Location: Chicago, IL

Re: I propose a list; What PyPRP does, and does not support

Postby Lontahv » Sun Mar 15, 2009 8:18 pm

Jojon wrote:I guess the MystV build had some cloth simulation implemented, if nothing else. :7


If I recall correctly, Esher and Yeesha's clothes were not calculated at all in the Physics engine. They were simply bone-animations.
Currently getting some ink on my hands over at the Guild Of Ink-Makers (PyPRP2).
User avatar
Lontahv
Councilor of Artistic Direction
 
Posts: 1331
Joined: Wed Oct 03, 2007 2:09 pm

Re: I propose a list; What PyPRP does, and does not support

Postby Jojon » Sun Mar 15, 2009 10:27 pm

Lontahv wrote:If I recall correctly, Esher and Yeesha's clothes were not calculated at all in the Physics engine. They were simply bone-animations.


Aha! I figured it was realtime, because, before I had a hardware upgrade, Esher's leg would pass right through the....flaps, now and then. :P

I'll take the opportunity to rant a bit about my otherwise never yet seeing an example of physX cloth simulation, that doesn't look like thin sheets of jelly, rather than fabric, especially when it rips. Surely there must be settings for weight and structural integrity... :7
Jojon
 
Posts: 1116
Joined: Sun Sep 30, 2007 5:49 am

Re: I propose a list; What PyPRP does, and does not support

Postby Nalates » Mon Mar 16, 2009 2:03 pm

D'Lanor wrote:Simply? :shock: And without adding lag? :lol:

edit: Ok, but seriously now. I think Cyan only used about 5% (or less) of what PhysX has to offer. So there may be methods that could be used on cards with PhysX hardware.

This has gotten way more complex to sort out since mid 2006. When nVidia released the 181 version drivers (late 2008 181.22) they were reprogrammed to use some of the ALU's on the cards for physics calcs. (Reference)The requirement for physical PPU's on the cards went away and GPU's are in use for both render and physics. nVidia took the unusual step of providing updates to convert older GPU cards to handle physics calcs. Some claim a single card will split up its ALU's into render and physics work. Others say the physics gets offloaded to the main motherboard CPU in single video card systems. In duel and quad cores there is a marked change in the benchmarks which seems to indicate that is true. Adding a second matching video card (8 or 9 series) to the system is supposed to devote one card to physics and another to rendering. I did not pay much attention to the 2 card benches.

Driver: Update 182.08 WHQL - 3/3/09 - Updates PhysX too.

The nVidia CUDA specs and while papers point to a major bottle neck in the 6, 7, 8 and I think 9 series cards in how they use memory for combined render and physics. Which is their big selling point for the newer 200 series cards, which remove the problem. CUDA whites show the new use of graphics memory.

Basically the cards many of us used with MOUL will do more with only a driver update. It certainly makes a difference when I run various benchmarks using my 8800. nVidia has extended help to ATI so that they can alter divers and take advantage of PhysX in new ways on ATI cards. I have not kept up with what ATI has done and whether they to provided free 'upgrades' to their older cards.

But, it may be possible to get away better client side performance with only minor changes inside Plasma. Best of all these changes could benefit a large part of the fan base.
ImageNalates - Guild of Cartographers
Guild Apprentice: GoW, GoMa - Liaison: GoC to GoMe, GoC to SL (Nalates Urriah)
MO:UL 00 379 343 - Author: Uru Maps Tech Data
Nalates
 
Posts: 84
Joined: Wed Jan 30, 2008 9:59 am
Location: California

Re: I propose a list; What PyPRP does, and does not support

Postby Paradox » Mon Mar 16, 2009 2:13 pm

Lontahv wrote:
Jojon wrote:I guess the MystV build had some cloth simulation implemented, if nothing else. :7


If I recall correctly, Esher and Yeesha's clothes were not calculated at all in the Physics engine. They were simply bone-animations.


I believe Lonthav is correct, however one should also note that Myst V used the ODE physics engine rather than PhysX.

I really do wish that Cyan could have picked a single physics engine and used it consistently :P
Paradox
 
Posts: 1290
Joined: Fri Sep 28, 2007 6:48 pm
Location: Canada

Re: I propose a list; What PyPRP does, and does not support

Postby Nalates » Tue Mar 17, 2009 10:33 am

Delta3D wrote: Question: Does this library [PhysX] replace the Open Dynamic Engine (ODE) physics provided by Delta3D?
Answer: It can replace ODE, but it depends on how you use it. Since the PhysX™ engine is not open source, the original ODE implementation will be left in place as part of dtCore. To this end, the dtAgeiaPhysX library was uploaded to the Delta3D-extras repository and must be downloaded separately. This may seem confusing at first, but it allows Delta3D developers to use whichever physics system they prefer.

…which would seem to convey the idea that it might not be that hard a switch since Delta3D is doing this.
ImageNalates - Guild of Cartographers
Guild Apprentice: GoW, GoMa - Liaison: GoC to GoMe, GoC to SL (Nalates Urriah)
MO:UL 00 379 343 - Author: Uru Maps Tech Data
Nalates
 
Posts: 84
Joined: Wed Jan 30, 2008 9:59 am
Location: California

Re: I propose a list; What PyPRP does, and does not support

Postby Jamey » Tue Mar 17, 2009 6:42 pm

I just learned yet another new feature today in Blender.

If we are able to make the necessary modifications to the engine needed to support most of the things I listed, will we be able to make PyPRP/Plasma support the use of Ray tracing?
(Please let me know if it already supports this feature, because if it does, I had absolutely no idea ;) )

For those who don't know what this is; According to Blender.org, "Ray tracing is the method of rendering an image where each ray of light is traced from its source, bouncing off certain objects and being absorbed by others, ultimately ending up at the viewers eye. The result is a good respresentation of how real light would act in the scene. Ray tracing is particularily effective in creating realistic shadows and reflections. It's largest drawback is the amount of processing required to create the image."

It looks very similar to environment mapping, but the quality looks much better! (from what I've seen at least ;) )

Show Spoiler



Anyone else know any cool effects that could be implemented into Uru? :)
KI#46415
Jamey
 
Posts: 528
Joined: Sat Oct 20, 2007 8:32 pm
Location: Chicago, IL

Re: I propose a list; What PyPRP does, and does not support

Postby Paradox » Tue Mar 17, 2009 7:31 pm

There is a reason that game engines don't support Ray Tracing, and probably won't for quite some time.
You know how long it takes Blender to render one image with Raytracing? Now imagine EVERY frame in Uru taking at least that long to render, probably longer with added things like avatars and the UI. It's entirely impractical.

The problem here is that Blender is a 3D Renderer while Plasma is a game engine, ray tracing actually means tracing the path of every beam of light through the entire scene and rendering the result. Blender is designed to do things like this, whereas Plasma is designed to render solid geometry and make it playable as a game. Same goes for fluid dynamics, softbodies, and most other Blender-only features. It would just cause Plasma to crawl along at one frame every 5 minutes.
Paradox
 
Posts: 1290
Joined: Fri Sep 28, 2007 6:48 pm
Location: Canada

Re: I propose a list; What PyPRP does, and does not support

Postby Grogyan » Tue Mar 17, 2009 11:52 pm

But Paradox, you forgot one thing, when Blender renders, it uses the CPU to render, which we all know is slow. When/if we get a hold of the source code, it is possible to get Plasma to do some real time ray tracing, though this would definitely push up the minimum specs to a GeForce 9 or later.

Watch this video to better understand it
http://www.youtube.com/watch?v=ZrJeYFxpUyQ

The example in the video is based on a single core processor, but you get the gist.

In the GeForce 200 series, memory management on board the GPPU is done differently so real time ray tracing with that is possible.
Better to have loved and lost than never to have loved at all
User avatar
Grogyan
 
Posts: 1203
Joined: Thu Oct 11, 2007 1:27 am

Re: I propose a list; What PyPRP does, and does not support

Postby Nadnerb » Wed Mar 18, 2009 4:24 pm

It's a completely different pipeline, and not something that you can just hack into an existing game engine. Not to mention that "real" raytracing such as what blender performs requires much more general purpose computations than even very recent GPUs provide. (You couldn't even perform a branch in a fragment program until very recently) Graphics cards are designed to accelerate rasterization, not raytracing, and any attempts to use them for something other than their intended purpose will be extreme hacks, and highly limited in scope. The future of graphics will come eventually, but it's more likely to come from these guys http://www.caustic.com/caustic-rt_caustic-one.php than from nvidia.
Image
Live KI: 34914 MOULa KI: 23247 Gehn KI: 11588 Available Ages: TunnelDemo3, BoxAge, Odema
Nadnerb
 
Posts: 1057
Joined: Fri Sep 28, 2007 8:01 pm
Location: US (Eastern Time)

Previous

Return to Plasma Development

Who is online

Users browsing this forum: No registered users and 58 guests