Commit Graph

30 Commits (39bf558a782a2dfef3b7cd05f19f67e7c96bf50a)

Author SHA1 Message Date
cutealien 543e70dc34 CTriangleSelector can now be created for a single meshbuffer.
It can still update with a node transformation, but it won't update when the mesh changes (so only useful for static meshes, not for animated ones).

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5351 dfc29bdd-3216-0410-991c-e03cc46cb475
2016-12-06 17:10:57 +00:00
cutealien a20f01131a ITriangleSelector now can also return meshbuffer collision information.
This allows to access materials of colliding triangles.
It's an optional setting (as it can be a little bit slower).
There are new collision functions for users which need that feature.

This also fixes several bugs with MetaTriangleSelectors. Those did sometimes return the wrong nodes in the past (when used with box or line collisions).
Also MetaTriangleSelectors should no longer crash when it has no selectors.

Also box and line collisions will now return all triangles when the colliding node has no inversible matrix  (before it returned the wrong results when for example a node had one axis scaled to 0).

So far only CTriangleSelector uses the new interface to return meshbuffer information. Octree will follow.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5350 dfc29bdd-3216-0410-991c-e03cc46cb475
2016-12-06 16:17:48 +00:00
cutealien 808240cf98 SceneCollisionManager now using const camera pointers.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5328 dfc29bdd-3216-0410-991c-e03cc46cb475
2016-08-13 15:56:49 +00:00
cutealien bff50c751d Spelling fixes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5327 dfc29bdd-3216-0410-991c-e03cc46cb475
2016-08-13 12:50:06 +00:00
cutealien 5ee9c208b4 Ensure vector3df and all classes containing a vector3df are passed by reference instead of per value. Thanks @Danyal Zia for the patch (#280).
This is breaking the IAttributes interface - so anyone who derived from that will have to update his implementation. More changes in that interface probably coming later today.
The idea behind the patch is preparing the engine for SSE support.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4725 dfc29bdd-3216-0410-991c-e03cc46cb475
2014-03-15 20:14:32 +00:00
hybrid 0a2330890a Bump copyright to 2012
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4320 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-09-30 23:38:54 +00:00
hybrid 5e4d495dcc Bump copyright dates to 2011.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3556 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-01-14 13:24:40 +00:00
hybrid 014272f2c1 Fix the text scene node placing in viewports. The problem was, that the calculation took the absolute viewport dimension into account, while rendering into the viewport requires the screenwidth to be taken. Hence, the text was usually misplaced. The collision method can still be used for this mixed mode calculation (get screen coordinate during viewport rendering, use it for full screen rendering), but requires an additional parameter.
Software drivers don't support 2d rendering into viewports, so they still fail to properly position text (or other 2d things) into a viewport.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3489 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-12-07 15:22:58 +00:00
cutealien 8b71ff58b4 The following functions will now use a "ISceneNode *" instead of a "const ISceneNode *":
ITriangleSelector::getSceneNodeForTriangle, ISceneNodeAnimatorCollisionResponse::getCollisionNode, ISceneCollisionManager::getCollisionPoint and ISceneCollisionManager::getCollisionResultPosition.
As collision functions often are followed by changing node positions users where so far forced to using const_casts (found by Greenya).
(This will lead once more to many post about correct getCollisionResultPosition usage, but can't be helped - those consts were too restricitive, sorry)


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3442 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-11-21 00:23:09 +00:00
hybrid e08e256fdc Fix docs for collision manager API, wrong return value was given.
Change default blend mode in OpenGL to SRC_ALPHA,ONE_MINUS_SRC_ALPHA
Use less precision in 2dmaterial test.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3399 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-09-07 15:03:27 +00:00
hybrid e8fa33e154 Merged from 1.7 branch, revisions 3300-3357. Huge number of bug fixes, mostly in GUI and serialization.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3358 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-07-17 22:45:45 +00:00
cutealien 28a04fbd42 Renamed OctTree to Octree
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3062 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-20 22:10:53 +00:00
cutealien cf445855a6 Documenation clarification in IEventReceiver (thx teto) and ISceneCollisionManager (thx aanderse).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3008 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-06 20:18:58 +00:00
hybrid d9e92b0783 Add FPS getter for Animated Mesh SN, add some values in serialization.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2767 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-28 13:42:47 +00:00
hybrid 275874afb1 Merged from 1.6 branch, revisions 2684:2747. Windows serialization fix. Memleak in STL and LWO loader fixed. CursorControl under Windows fixed. CE compilation fixed. Example 21 for Linux fixed. IFileSystem and IFileList additions. Toolbar::addButton fixed. Device::run fixed. Anti-Aliasing on debug rendering disabled. Documenation updated.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2748 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-23 18:06:57 +00:00
hybrid 3ef1b18308 Fix eol-style for all code files to CRLF for simpler file handling.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2525 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-07-30 07:58:33 +00:00
hybrid 7e5822ec2c Fix eol-style for all code files to native.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2521 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-07-29 11:45:59 +00:00
hybrid 8e9c3de276 Merged revisions 2349:2403 from 1.5 branch. Added defines for version handling, added method to check for drivers. Fix bugs in Joystick handler, filename handler, and byteswap.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2439 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-07-02 08:59:55 +00:00
hybrid 9e695384b9 Added collision function parameter for restricting check to only parts of the scene, patch by Darktib.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2310 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-03-30 15:14:38 +00:00
hybrid ca07a70436 Constification for line3df paramater and reindentation.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2308 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-03-30 09:36:30 +00:00
Rogerborg 5478f80545 https://sourceforge.net/tracker2/?func=detail&aid=1797487&group_id=74339&atid=540678
- Triangle selectors created from animated mesh scene nodes will update themselves as required to stay in sync with the node.
 - ISceneCollisionManager::getSceneNodeAndCollisionPointFromRay() allows selection by BB and triangle on a heirarchy of scene nodes.
Example 07 updated to show the usage of ISceneCollisionManager::getSceneNodeAndCollisionPointFromRay(), used on animated meshes.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2177 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-01 18:56:05 +00:00
Rogerborg cf349f9953 More collision additions. ISceneCollisionManager::getCollisionResultPosition() now returns the node that was hit. ISceneNodeAnimatorCollisionResponse stores and exposes the node that was hit.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2127 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-22 18:24:33 +00:00
Rogerborg 81671c23b2 https://sourceforge.net/tracker2/index.php?func=detail&aid=2498791&group_id=74339&atid=540678
Revert my previous ITriangleSelector patch and implement garritg's great idea about retrieving an ISceneNode by index.  Add an out parameter to ISceneCollisionManager::getCollisionPoint() to return the hit scene node.  This is an API breaking change; the test and example apps have been updated.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2125 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-22 15:50:06 +00:00
hybrid 7472bcd83c Merged from 1.5 branch to trunk, all changes from 2042 to 2071. cursor setVisible fix, OSX FPS cam fix, ALPHA_CHANNEL_REF fix, new method draw2dRectOutline, setOverrideFont fixes, getCollisisonPoint distance bug fix.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2072 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-14 12:37:51 +00:00
Rogerborg 2563bf14d8 Small efficiency improvements in scene collision:
Have all public ISceneCollisionManager.h methods take 'const type &' rather than 'type' where appropriate.

Conversely, have CSceneManager::getPickedNodeBB() take a non-const 'core::line3df& ray', so that child nodes can truncate the master ray when they get a collision.

This is an API change, so goes to the trunk only.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2050 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-06 16:02:03 +00:00
Rogerborg 340b984ced Add a hitPosition to ISceneCollisionManager::getCollisionResultPosition() as per
https://sourceforge.net/tracker2/?func=detail&aid=1339139&group_id=74339&atid=540679

This is a very small API breaking change to a method that's unlikely to be heavily used in user code. It is commented in the declaration, in changes.txt and a unit test has been added.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1958 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-16 16:16:35 +00:00
hybrid cdffc4a5d6 Merge from branch 1.4, revisions 1344:1352, which are the doc updates from the 1.4.1 release.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1353 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-05-22 11:51:37 +00:00
hybrid 13b9851487 Another round of constness additions. Almost finished now.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@969 dfc29bdd-3216-0410-991c-e03cc46cb475
2007-09-17 16:09:50 +00:00
irrlicht b85584c8e1 renamed IUnknown to IReferenceCounted
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@916 dfc29bdd-3216-0410-991c-e03cc46cb475
2007-09-07 06:11:47 +00:00
bitplane c00ce1d372 Moved everything to /trunk
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@643 dfc29bdd-3216-0410-991c-e03cc46cb475
2007-05-20 18:03:49 +00:00