• Content count

  • Joined

  • Last visited

Community Reputation

193 Neutral

About Glatzemann

  • Rank
  1. Boat physics engine?

    Vector Unit used Bullet Physics to create Hydro Thunder Hurricane. There's a post mortem available at gamasutra: Maybe you'll find something helpfull in there or in the Bullet forums.
  2. I think I've solved the problem myself. The working one is the following: using namespace DirectX; BoundingFrustum tmp( XMLoadFloat4x4A(&proj) ); XMVECTOR det; tmp.Transform(frustum, XMMatrixInverse( &det, XMLoadFloat4x4A(&view) ) ); I had to use the INVERSE view matrix for transformation...
  3. Hi guys,   I'm trying to do some frustum culling using DirectXMath' BoundingFrustum and BoundingBox classes.   Construction of the BoundingBoxes is looking good. I'm using DirectXTK's PrimitiveBatch to do some debug Output. Projection and View matrices are looking right too, because the rendering of the scene ist fine.   I've tried to different ways to construct the frustum:   BoundingFrustum frustum( XMLoadFloat4x4A(&proj) ); frustum.Transform(frustum, XMLoadFloat4x4A(&view) );   and the other one is   BoundingFrustum frustum( XMMatrixMultiply( XMLoadFloat4x4A(&view), XMLoadFloat4x4A(&proj) ) );   The matrices are both Left-Handed as DirectXCollision is LH only. To be sure I tried RH matrices too but it doesn't change the result (I'm able to Switch using preprocessor directives).   To check the BoundingBox I'm using the Intersects-Method of the BoundingFrustum class.   When using the first approach to construct the frustum nothing is displayed at all because all boxes are culled.   When using the second approach everything looks fine until I move the camera. When camera is moved the view Matrix is recalculated and after that the BoundingFrustum too. I've checked this in the Debugger. When rotating the camera it looks like the left and right sides are on the wrong side. When rotation approx. 45° around the Y-Axis everything is culled.   Has someone used the BoundingFrustum class to do frustum culling? Does someone know what I'm doing wrong?   Thanks in advance...
  4. Signed Distance Field Direction

    I've investigated this some more and found a very simple solution: [ CODE] double gradient_x = dist[x-1] - dist[x+1]; double gradient_y = dist[y-1] - dist[y+1]; [/CODE] After normalizing the result it looks smooth and nice :-) Thank you guys for your help.
  5. Signed Distance Field Direction

    This sounds really interesting. I will try this tomorrow morning. Thank you very much. How will this look with more than three points? I think the result will be better in some cases with more sample points, isn't it?
  6. Hi guys, I have created a signed distance field (two dimensional) which contains the nearest distance to the boundary like in PixelJunk Shooter (described here: [url=""]http://fumufumu.q-ga.../shooterGDC.pdf[/url]; pages 44 to 46). Now I want to calculate the direction to the nearest boundary for any given point. In the PixelJunk Shooter presentation they talk about gradients and four sample points around the given point, but I'm not very good with calculus. Is there anyone who can easily explain how to do that? Some pseudo-code would be great :-) Thanks in advance.
  7. Try a google search for "Polygon Polygon Intersection". I'm sure you will find a lot of information about that topic. Yes, there's a big difference in the two collision approaches: The BoundingRectangle intersection test is much cheaper because you have to do only some If-Statements. The Polygon intersection routine is much more complicated and needs much more cpu cycles but it is much more exact.
  8. If it doesn't need to be that precise you could use more than one BoundingRectangle and BoundingCircle for the different body parts and weapons. You will get some kind of collision zones in that case. Years ago this was a way (I think the common way) to do collision in fighting games like Street Fighter. For a sword a Oriented Bounding Box is another possibility and is more precise because it better fits. One more way is to use bounding hulls (polygons that encases the object) that fit your objects very tight. You have to do Polygon/Polygon intersection in this case.