Commit Graph

835 Commits (242c1d8d04054d332a86c92d0c17089a3825e8f1)

Author SHA1 Message Date
hybrid 38677f7204 Replace private filename method by FileSystem member. Some more cleanup.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2068 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-12 23:14:46 +00:00
Rogerborg 94a1346a5c Adding an optional light manager that allows hardware lights to be turned on and off before each scene node is rendered. This can be used to produce "zoned" lighting.
If a light manager is not registered, the existing behaviour (activate the closest lights to the camera) will be retained unchanged.  New example project added to demonstrate the usage, and regression tests and existing samples run.  No regression test for the light manager yet, since I am more interested in not regressing the default behaviour.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2064 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-12 10:55:39 +00:00
hybrid de02b25a28 Set default material settings properly (like MView does)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2062 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-09 22:36:10 +00:00
hybrid cf404ad287 Add default material-face-indices for very compact .x files.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2061 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-09 22:30:10 +00:00
bitplane 4b01f2040f Added a method to invert the Y axis of the FPS camera animator. [1150796]
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2054 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-08 01:25:22 +00:00
hybrid 082040520e Fix FVF data loading of binary .x files
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2053 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-07 00:36: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 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
hybrid 41b87c400b Make variables more local.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2038 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-05 12:20:32 +00:00
hybrid 94ecc76364 Fixed typo in variable name.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2035 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-05 08:58:16 +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 b95c2fcbd1 Remove/privatize members
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2028 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-04 13:41:42 +00:00
hybrid 5c64512330 Change the swap effect to DISCARD for windowed applications in d3d drivers.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2025 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-03 12:44:09 +00:00
hybrid c3cfdcfa5e Merged revisions 2006:2016 from 1.5 branch, makeColorKeyTexture changes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2017 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-02 13:02:05 +00:00
hybrid 7809c48144 Merged revisions 1972:2004 from 1.5 branch, except for some revisions which seemed to be merged already. MD2 loader updated, terrain node fixed, opengl texture handling fixed.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2005 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-30 11:13:22 +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 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 c7f82100bc https://sourceforge.net/tracker2/?func=detail&aid=2473520&group_id=74339&atid=540676
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=181419

Partial fix for CSceneCollisionManager::getPickedNodeBB(), but we should push on and do a proper test for the actual intersection point with each hit cube.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1991 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-29 00:23:57 +00:00
hybrid d635ca9548 Some more missing files.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1989 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-28 23:29:48 +00:00
rogerborg 1caa8223ed Fixing some benign but annoying build warnings about unhandled values in switch statements and order of pre-constructor instantiation.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1988 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-28 23:19:55 +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
hybrid 4e3f078ef6 Merged all revisions up to 1975 from 1.5 branch. Boiled down to changes.txt fix and terrain fix, all others were already commited.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1976 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-18 17:27:57 +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
hybrid f093ed8d32 Fix meshbuffer creation for new groups.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1968 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-17 15:55:25 +00:00
hybrid 9f2d1075fe Added debug info in ms3d loader.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1967 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-17 15:54:08 +00:00
Rogerborg 7e336eea29 http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=180192
Have the FPS animator set the cursor to the window centre unconditionally to cope with the cursor escaping the window.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1966 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-17 13:01:46 +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 7e9e5f179f Removed some debug tests left over in previous revision
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1950 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-13 23:13:17 +00:00
hybrid 60814bf872 Added support for FVF data. Added support for 2nd UV coord set from either FVF data or DeclData.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1949 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-13 23:09:39 +00:00
hybrid 05ac2ef679 Separated specualr settings from other color settings. Made changes propagate even when shininess is 0, which introduced some renderstate bugs previously.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1948 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-13 23:06:32 +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
hybrid 19491a579f Merged from 1.5 branch revisions 1837:1850. Light property changes, shader problems fixed, OSX resize fixed, meshloader debug messages disabled.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1851 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-11-27 23:25:20 +00:00
hybrid 0b03402773 Merged from 1.5 branch to trunk, all changes from 1821 to 1835. Mostly warning fixes, GL ASM shaders repaired, d3d9 RTTs less memory consuming, skinned mesh bboxes updating.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1837 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-11-26 10:44:30 +00:00
hybrid f778a1eb7f further merged from 1.5 branch to trunk, all changes from 1815 to 1819.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1821 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-11-24 17:34:27 +00:00
hybrid ed72437ee4 Flip terrain heightmap and texture coords. Now the heightmap and texture are used unaltered - the terrain looks like the texture/heightmap when looked from high above.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1812 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-11-23 00:40:38 +00:00
Rogerborg a83051f62e Bug https://sourceforge.net/tracker/index.php?func=detail&aid=1769820&group_id=74339&atid=540676
Significant internal change to the way that FPS camera jump speed and collision response animator gravity interact.  The behaviour is now much more realistic, but it will require you to adjust your jump speed and gravity.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1811 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-11-22 23:41:11 +00:00
Rogerborg f7dfda9f1f Replace magic numbers with equivalent EKA_FOO values. Smoke tested.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1810 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-11-22 22:45:03 +00:00
hybrid ed9e453d7f Add debugdata normal rendering to terrain node.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1809 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-11-22 22:14:46 +00:00
hybrid 8d288d3213 Fixed init warning from gcc.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1808 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-11-22 22:14:12 +00:00