Frustum Culling

A place to discuss everything related to Newton Dynamics.

Moderators: Sascha Willems, walaber

Frustum Culling

Postby Patrizio » Sun Apr 03, 2016 7:42 pm

hi to all,
i got a question, but can't find the answer.
i'd like to use NewtonSceneProxy to perform frustum culling, and the AABB tree of the broadphase to get a good candidate for occlusion culling, but seems like NewtonSceneProxy has been removed..

so what to use to get similar behaviour?

ps: great engine :)
Patrizio
 
Posts: 3
Joined: Sun Apr 03, 2016 7:33 pm

Re: Frustum Culling

Postby Julio Jerez » Sun Apr 03, 2016 7:59 pm

the newer collision system supports all the fumtionality off all versions stating from newton 1.00
and much more.

NewtonSceneProxy sounds like an old fumtionality from the time Newton collision system was not instance based.
can you tell me what was doing and maybe I can tell how to use the equivalent functionality?
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Frustum Culling

Postby Patrizio » Sun Apr 03, 2016 8:23 pm

Of course :D and thankss for the fast answer :)

It was a way to use a newtoncollision object for getting collisions without the need of having a corresponding newtonBody(that as you stated here would have been too slow).
http://www.newtondynamics.com/forum/viewtopic.php?f=9&t=6629#p46590
Patrizio
 
Posts: 3
Joined: Sun Apr 03, 2016 7:33 pm

Re: Frustum Culling

Postby Julio Jerez » Sun Apr 03, 2016 10:46 pm

Oh I see, the scene collision is in the engine, the only difference is that that instead of using a special objects, now use a collision shape.

basically you make a scene collision and you add all you proxy as collision shape using function
Code: Select all
NewtonSceneCollisionBeginAddRemove (NewtonCollision* const sceneCollision);   
// add or remove some shapes,
void* NewtonSceneCollisionAddSubCollision (NewtonCollision* const sceneCollision, const NewtonCollision* const collision);   
// end begin add section
NewtonSceneCollisionEndAddRemove (NewtonCollision* const sceneCollision);   


you can move the shape at will using functions:
Code: Select all
NewtonSceneCollisionBeginAddRemove (NewtonCollision* const sceneCollision);   
// modify one or more shapes using function
void NewtonSceneCollisionSetSubCollisionMatrix (NewtonCollision* const sceneCollision, const void* const collisionNode, const dFloat* const matrix);   
// end begin add section
NewtonSceneCollisionEndAddRemove (NewtonCollision* const sceneCollision);   


to get contacts you can use function
Code: Select all
NewtonCollision* NewtonSceneCollisionGetCollisionFromNode (NewtonCollision* const sceneCollision, const void* const collisionNode);
int NewtonWorldCollide (const NewtonWorld* const newtonWorld, const dFloat* const matrix, const NewtonCollision* const shape, void* const userData, NewtonWorldRayPrefilterCallback prefilter, NewtonWorldConvexCastReturnInfo* const info, int maxContactsCount, int threadIndex);

look a the SceneCollision functions
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Frustum Culling

Postby Patrizio » Mon Apr 04, 2016 3:38 am

Perfect, thanks for all

Im making An engine and this Will really help me :)
Patrizio
 
Posts: 3
Joined: Sun Apr 03, 2016 7:33 pm


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 3 guests

cron