Commit Graph

855 Commits (7c6f04fdc58f2bedecfe52d42ad0249fd6d36f81)

Author SHA1 Message Date
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 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
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 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 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 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