Commit Graph

77 Commits (e7b200fef4ffd190bd617ac32a3904a74831d9ea)

Author SHA1 Message Date
Rogerborg d232810cf8 Last fix to https://sourceforge.net/tracker2/?func=detail&aid=2473520&group_id=74339&atid=540676
Last fix to CSceneCollisionManager::getPickedNodeBB(). ;)  Efficiency improvements to reduce the number of checks, since we can only hit one face of each box, and we needn't consider boxes that are further away than the closest hit.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2049 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-06 15:48:00 +00:00
Rogerborg 2b18db4c67 https://sourceforge.net/tracker2/?func=detail&aid=2473520&group_id=74339&atid=540676
Another fix to CSceneCollisionManager::getPickedNodeBB(). Ensure that the collision point with the plane of a box is actually on the box surface rather than outside it.  Retested with regression test and example 07.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2048 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-06 15:40:00 +00:00
Rogerborg bac02b5bb0 https://sourceforge.net/tracker2/?func=detail&aid=2473520&group_id=74339&atid=540676
Change ray/bounding box selection so that the nearest node is determined by the actual collision point with the bounding box (or the distance to the box centre if the ray starts inside the box).  Since this is a functional change from the old behaviour, I'm only committing to the trunk.  This will be slightly slower than the old method, but should return the correct node; I consider accuracy to take priority over efficiency for collision.

tests/sceneCollisionManager.cpp has been updated, as has examples/07.Collision/main.cpp.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2047 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-06 15:12:15 +00:00
hybrid 6fe8e2d89d Merged from 1.5 branch to trunk, all changes from 2018 to 2041. OSX keyboard fix, OpenGL version fix, some tests fixed. Example 9 text position fixed.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2042 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-05 15:34:22 +00:00
Rogerborg 64f9c03528 Update trunk tests: add textureRenderStates.cpp to tests_vc8.proj and tests.cbp; fix reversed logic in irrCoreEqual.cpp (the test wasn't being run); re-base the trunk tests/main.cpp on 1.5 tests/main.cpp, with the addition of those tests only available on the trunk.
Tested on Windows with MSVC 2005 and Code::Blocks, with a local trunk re-application of the terrainSceneNode.cpp change in SVN 2039 (which will get merged down separately).  I'll re-test on Linux as soon as I've committed this.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2040 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-05 14:53:30 +00:00
hybrid e7ced16d04 Made the Anisotropic Filter degree configurable via the SMaterialLayer member which had been a bool formerly. Using the setFlag in SMaterial should still give MaxAnisotropy level as before.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2034 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-05 00:30:11 +00:00
hybrid a669b865f1 Added better support for AntiAliasing levels, based on the patch by Sylence.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2032 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-04 17:13:54 +00:00
hybrid e3b373953b Hmm, didn't save the last files before committing. So this is the actual test cases which runs through.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2030 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-04 15:12:11 +00:00
hybrid 6f1532e2cd Added orthogonality check in matrix class, based on a patch by Halifax. Also added some (rather trivial) testcases, corner cases have to be identified...
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2029 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-04 14:58:23 +00:00
hybrid 47148c640f Looks like another merge problem fixed...
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2027 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-03 23:30:51 +00:00
rogerborg 0ef1056eb8 https://sourceforge.net/tracker2/index.php?func=detail&aid=2472420&group_id=74339&atid=540676
Merge fix for CTerrainSceneNode::preRenderLODCalculations() to trunk; take the camera's up vector into account when determining whether terrain scene node visibility needs to be rechecked.  New test added; thanks to Travis for another great test case.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2003 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-29 19:40:48 +00:00
rogerborg c9d7d28b90 Add missing irrCoreEquals.cpp test file. Update changes.txt to note that position2d is now a synonym for vector2d. Add proper doxygen \deprecated tags for position2d.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2001 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-29 16:31:18 +00:00
rogerborg 77d97b18bf Make position2d a typedef of vector2d. Very tentatively deprecate position2d. Add the position2d methods that operate on a dimension2d to vector2d. Add vector2d constructor and equality methods to dimension2d. Add a new test case that verifies that vector2d and position2d are interchangeable, and that vector2d and dimension2d can operate on and implicitly convert each other. Remove the now duplicate position2d methods from CAttributeImpl. Tested with unit/regression tests and building all the examples. This should be a transparent change for users.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2000 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-29 16:05:49 +00:00
rogerborg ea44396c11 Make the integral versions of irr::core::equals() do a direct == comparison when no explicit tolerance is specified, rather than using an implicit tolerance of 0. The floating point versions are unchanged. New unit test added.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1999 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-29 13:34:22 +00:00
rogerborg 7657b29e8c Removing extraneous device->drop() from tests/sceneCollisionManager.cpp
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1998 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-29 13:16:21 +00:00
Rogerborg 04a344c75d Add an ISceneNodeAnimator::hasFinished() method. It can only return true for non-looping delete, fly straight and texture animators.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1980 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-19 23:21:26 +00:00
Rogerborg baa858b66c From IRC: CSceneCollisionManager::getPickedNodeBB() unconditionally checks collision against children, so visible children of invisible nodes can be hit. This seems nonsensical, so we now only check children of visible nodes.
Also clarified the comments on ISceneNode::setVisible() and isVisible(), and added a new method, isTrulyVisible() that recursively checks any Parent nodes as well.

Unit/regression tests updated, verifying that they tested (and failed) with the old behaviour and pass with the new.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1978 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-19 11:51:51 +00:00
Rogerborg b2ea2b3fee Fix Maya and FPS cameras so that they only animate if they are:
1) The active camera.
2) Receiving input.

This allows example 09.Meshviewer (with two cameras) to work as expected.  Replace the magic numbers in that example with enumerated values.

This patch also exposes ISceneNode::SceneManager through a public getSceneManager() API.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1974 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-18 15:25:30 +00:00
Rogerborg dfc9db6ca1 http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=31490
Another poke at matrix4::transformPlane(). Tested with the example from the report, a (1,5,1) scaled node in 02.Quake3Map, and the existing regression tests, with some expected results updated.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1970 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-17 23:52:19 +00:00
Rogerborg 0025933fb0 http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=31496
Forget about the cached mesh frame for animated mesh scene nodes when the mesh is changed.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1963 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-17 11:28:16 +00:00
Rogerborg e8cbe44b1f Merge SVN 1961 (C::B project fix) to trunk.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1962 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-16 17:40:05 +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
Rogerborg 1b628ef663 Expose the target scene nodes of collision response animators. Setting the target forces an update of its last position. This allows a setPosition() to take effect without being blocked by the collision geometry. Added comments to this effect, a unit test, and some unrelated !node checks in all the animators' animateNode() methods.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1957 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-16 15:07:01 +00:00
hybrid 9bc11201d5 Merged from 1.5 branch to trunk, all changes from 1933 to 1953. Camera and animation fixes, project file updates, etc.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1954 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-15 14:18:11 +00:00
hybrid ad43762777 Merged from 1.5 branch to trunk, all changes from 1913 to 1932. Mostly example and test fixes. Some bug fixes, camera interface changes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1933 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-08 17:06:34 +00:00
hybrid ace653f4fc Merged revisions 1885:1912 from 1.5 branch. More unit tests and bug fixes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1913 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-03 22:26:53 +00:00
hybrid 7a1fac9dfb Merged revisiosn 1851:1883 from 1.5 branch. unit tests and severla bug fixes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1884 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-11-29 22:35:56 +00:00