Commit Graph

1049 Commits (2c203d8401d4644418651a39fc08f5e5c0962584)

Author SHA1 Message Date
Rogerborg 2c203d8401 https://sourceforge.net/tracker2/index.php?func=detail&aid=2498791&group_id=74339&atid=540678
Expose the collision result position in ISceneNodeAnimatorCollisionResponse, to give more information to the user app.  Thanks again to garritg.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2120 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-22 10:12:46 +00:00
Rogerborg a417170595 Have the collision response animator callback return the collision point, not the new position for the instant node. Thanks again to garritg for spotting this. Test updated (to test the proper expected result!)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2119 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-22 09:56:23 +00:00
hybrid 9c34c59233 Support for anti-aliasing modes per Material.
Initial support for Alpha To Coverage. Doesn't properly work on my laptop, so needs some more fixing and tuning before it actually works.
Fixed AntiAliasing on Win32/OpenGL.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2118 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-22 00:50:55 +00:00
Rogerborg a60d0af20f Pass dimension2d<s32> to createDevice in example 01.HelloWorld main.cpp (createDevice() only <u32> on the trunk only)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2116 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-21 17:29:06 +00:00
Rogerborg c9190dd640 http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=32029
Grey out combo boxes when they're disabled.  Not tested, as I feel like living dangerously.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2115 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-21 15:16:04 +00:00
Rogerborg 98766ca5ac https://sourceforge.net/tracker2/index.php?func=detail&aid=2526240&group_id=74339&atid=540676
Improve matrix::getScale() to return the absolute scale values when the matrix contains a rotation.  This still isn't perfect, but it's an improvement.  New unit test added.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2114 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-21 15:06:21 +00:00
Rogerborg 0e147df2e0 Change recently added ICollisionCallback / ISceneNodeAnimatorCollisionResponse methods to use const & parameters and return values. Regression tested.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2113 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-21 08:37:21 +00:00
hybrid a771f88caf Replace template function by direct position access
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2112 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-20 22:36:14 +00:00
Rogerborg d021013af2 https://sourceforge.net/tracker2/?func=detail&aid=2498791&group_id=74339&atid=540678
Add an ICollisionCallback to ISceneNodeAnimatorCollisionResponse to inform the application when collisions occur (and allow it to ignore them).  Thanks to garrit for this patch!  The existing collisionResponseAnimator unit test has been updated to exercise the new functionality.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2111 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-20 19:10:46 +00:00
Rogerborg e464ba11f4 http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=31995
Add an optional startPosition parameter to createFlyCircleAnimator() to allow specifying a start position on the circle. New unit test added.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2105 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-20 12:54:49 +00:00
hybrid 7c6f04fdc5 Another vcproj fix by Dorth.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2104 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-20 12:32:26 +00:00
hybrid 65f5034a09 Syntax problem fixed, found by Dorth.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2103 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-20 12:31:21 +00:00
hybrid 8ca89ee687 Added support for Stereo framebuffers and AUX buffers (which are currently only accessible via direct OpenGL calls or shaders).
Added a creation parameter for doublebuffering.
Cleaned up the framebuffer clean methods in OpenGL.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2102 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-20 09:00:08 +00:00
hybrid fed4bd3196 vcproj updates to avoid linker warnings.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2101 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-20 08:43:10 +00:00
hybrid 7c83d876d3 Fixed dimension problems, spotted by Dorth.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2100 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-20 08:32:48 +00:00
hybrid 9719d19c45 Fix typo spotted by Dorth.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2099 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-20 08:23:50 +00:00
hybrid 0622b4fb07 Constrain texture size by maximal allowed value.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2098 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-19 17:37:08 +00:00
Rogerborg 26ead87b08 Remove D3D8 from IrrCompileConfig.h; I had this on for testing and accidentally committed it.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2097 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-19 14:45:31 +00:00
hybrid 8f0047891c Avoid cursor changes under Linux if visibility doesn't change.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2095 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-19 14:15:05 +00:00
Rogerborg 601d907b86 Fix signing issues in CIrrDeviceLinux.cpp.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2094 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-19 14:09:13 +00:00
Rogerborg a8d26896bd Update changes.txt to document the change from dimension2d<s32> to dimension2d<u32>
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2093 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-19 13:56:58 +00:00
Rogerborg dcebfbbf0d http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=183704
Change from dimension2d<s32> to dimension2d<u32> where practical.  IImage and ITexture now have unsigned dimensions, as does screen size.  This has had a significant knock-on through the code base, but it is more technically correct - the BEST KIND of correct.

GUI elements and draw2DImage methods still have and take signed dimensions, but we can look into this in future. Regression tested with the test suite and the example apps.  Note that createDevice() now takes dimension2d<u32>!

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2092 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-19 13:48:22 +00:00
hybrid 7ed594d039 Changed parent handling in GUI loader.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2091 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-19 09:19:42 +00:00
hybrid ebb184024e Add some info about creation parameters.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2090 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-18 23:08:54 +00:00
hybrid 250478a9f1 Avoid the XVisual method when using OpenGL, because it selects improper visuals. Better signal a fail in order for the user to try other properties.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2089 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-18 22:52:55 +00:00
hybrid 0cb7f45018 Merged revisions 2072:2087 from 1.5 branch. Some missing inits fixed, OpenGL FBO fails better recognizeable, docs updated.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2088 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-18 22:39:03 +00:00
hybrid accdcfa76d Remove unnecessary member.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2087 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-18 22:34:39 +00:00
hybrid 0109e06cfd Add some more tries for window creation on OSX.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2086 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-18 20:54:27 +00:00
Rogerborg a139a9739d Update CMemoryReadFile -> CMemoryFile in the Makefile.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2083 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-16 16:48:06 +00:00
Rogerborg 9067211624 http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=183435#183435
Change IVideoDriver::writeImageToFile() to always use the IWriteFile filename rather than taking a separate extension.

Test updated.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2082 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-16 15:35:22 +00:00
Rogerborg a603abe03a http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=183427
Add IFileSystem::createMemoryWriteFile() to allow writing to memory.
Replace CMemoryReadFile with CMemoryFile that also implement IWriteFile.
Add an IVideoDriver::writeImageToFile() overload that takes an IWriteFile.
This allows writing (e.g.) screenshots to memory, rather than directly to file.

New unit test added to test the new functionality.  Tested on Windows with VS2005 and C::B. I'll do Linux ASAP.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2081 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-16 14:19:38 +00:00
hybrid 90eec5ade9 Fix hint name.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2080 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-16 08:50:25 +00:00
hybrid 55e01dd9d0 Add hint for auto mipmap generation in OpenGL.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2078 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-15 16:56:59 +00:00
hybrid 662e2dc24a Reduce size of OpenGL extension handler.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2075 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-14 18:03:44 +00:00
hybrid 7b1de5cff5 Fix .x texture paths.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2074 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-14 18:01:51 +00:00
hybrid 2f2e88d8f4 Fix reorder warning in .x loader.
Remove unused member from FPS cam.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2073 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-14 13:01:20 +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
hybrid 242c1d8d04 Fix project files
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2070 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-13 21:32:00 +00:00
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 06ae5c41ef Fix managed lights example build bug on C::B / Linux.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2066 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-12 12:02:19 +00:00
Rogerborg ee5942f4c1 Add example 20 to C::B and VC7/VC9 projects. Fix some build issues with the light manager and example.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2065 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-12 11:52:50 +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