Commit Graph

68 Commits (98ef47c1c9012e7592eb6ac72f5513cafb283b40)

Author SHA1 Message Date
hybrid 007094898f Slightly reordered the test cases based on resource usage.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2824 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-10 09:14:12 +00:00
hybrid 6e1bab9989 Add some more archive testing.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2821 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-09 17:06:39 +00:00
hybrid bcf09b2ee4 Filesystem cwd patch for virtual file systems, by IPv6.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2806 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-04 16:06:19 +00:00
hybrid 107fb67d31 Added test case by vitek, currently commented out as it does not go through.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2805 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-04 15:29:01 +00:00
hybrid ecd1072080 Add rtt test case from stefbuet.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2798 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-04 11:58:55 +00:00
hybrid 68a7f4b11a Add rogerborg's irrString assignment allocation patch and a testcase.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2787 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-03 16:45:39 +00:00
hybrid f2145fd200 Added bbox testing for skinned meshes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2769 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-28 15:56:14 +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 b410b526b7 PAK archive reader patch and test, submitted by Carmen Wick.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2741 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-23 12:38:30 +00:00
hybrid 0114348e5d Add dx9 screenshot
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2732 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-20 16:18:29 +00:00
hybrid 259332ce8f Add test for correct rendering of bsp example with all drivers.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2731 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-20 15:57:15 +00:00
hybrid 64ad07a38e Merged from 1.6 branch, revisions 2665:2683. External creation of CSkinnedMesh. Texture matrix bug fixed. obj loader fixed. Divide by zero checks. Some API methods renamed. Strict aliasing fixes. Collada loader fixed.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2684 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-09-09 14:30:44 +00:00
hybrid 157cd67caf Merged revisions 2622:2663 from branch 1.6. SMaterial bug, MS3D patch, LWO fix. Better Shift recognition under 2in32. D3D depth buffer MSAA problems fixed. string<c16> changed to io::path. Fix 2dimagebatch, add better mtl file finder. Fix some OpenGL extension checks. Fixed x86-64 warnings. Export symbols in gcc4. Scolling in GUITab fixed. Fixed PixelBlend16 and SW driver. FPS cam stuttering fixed. OSX project additions. New scene parameter to ignore obj's mtl files.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2664 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-08-24 09:12:27 +00:00
cutealien 09cd4c3869 bugfix: CMountPointReader::openFile no longer returns file for empty filenames. Corresponding test added.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2421 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-06-15 15:49:16 +00:00
cutealien 2dc5c7d7d5 - Reversed change in vector3d::normalize. The check for 0 vector isn't there for optimization, but to prevent NAN values.
Works now again as documented and a corresponding test has been added.
  Does fix bug 2770709 (https://sourceforge.net/tracker/?func=detail&aid=2770709&group_id=74339&atid=540676)
- Animations can now be paused by setting the fps to 0.
- Avoid fp-precision problem in getPickedNodeBB (see also 
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=33838&highlight=). 
  This change might also fix the problem with picking nodes found by aanderse 
(http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=32890&highlight=)



git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2419 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-06-11 22:56:51 +00:00
cutealien 2391338b57 - Fix bug in CSceneNodeAnimatorCollisionResponse::setWorld as found by Quillraven.
- Fix simliar bugs where object have been dropped accidentally in set functions in many places


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2417 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-06-10 20:13:37 +00:00
cutealien f598ea9265 New test for zipreader (works).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2414 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-06-09 00:53:05 +00:00
hybrid 1a924aa159 Adapt test suite to recent changes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2395 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-05-16 18:11:11 +00:00
engineer_apple bebda484e1 Changes in 1.6 TA
- implemented isALoadableFileFormat ( File *file ) for the Archive Loader


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2209 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-11 14:04:12 +00:00
Rogerborg 7b5c07e9ce Add missing test files, update IGeometryCreator.h. Re-enable makeColorKeyTexture test - apologies if this is still borked on some platforms: please feel free to disable it again.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2208 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-10 22:21:04 +00:00
engineer_apple 2340f9b849 Changes in 1.6 TA
- PixelBlend16 and PixelBlend16_simd are working for the new rules.
	- bugfix. CLightSceneNode didn't correctly update it's attributes
	
		Lighting Linear Attenuation.	= 1.f / radius
		
		The Example loadirr files set the lightscene radius to 1000.f but
		stays on the previous default attentuation with the older radius 100 -> 1.f / 100
		so the examples looks golden-brown.
		
		Now the radius is correctly!! set to the attenuation of 1.f/1000.f because the
		file doesn't have special attenuation. and now it looks more yellow.
		can anybody show me a correct screenshot for this file;-)? Niko?
		
		Or is this behavior the default lighting?. then it would be
		a fixed constant linear attenuation of 0.01f;-). Please clearify
		For now i didn't fixed it
		
		
		I encountered this behavior because i ( burning video ) used the original radius
		for calculations and so i've found that radius != 1.f / linearAttenuation but
		in the LightSceneNode this formula was used.. confused;-)
		

	- vector template and equals tests
		as working with the test suits i cleaned the template behavior (mixed types are
		used in the templates) and added all missing special math function with their coressponding type
		I also set the equal test for s32 to behave like the f32 routine.

		The function equals always implements a weak test.		
		that means a tolerance MUST always be used if you use the equal function. default is 1.
		you can set it to zero a==b-> equals ( a, b, 0 ) but do it explicit like you have to
		for floating compare. This is important when irrlicht is going to use special hardware
		math acceleration on a per function base, like sse2, or the other way round fixpoint.
	
	- VideoDriver drawPixel
		The HW renderes are using the alpha components for blending.
		The Software Renderes and image loaders are using CImage::setPixel copy. 
		so setPixel is engaged to either blends or copy the pixel
		default: false
	- Burningvideo
		added RenderMaterial EMT_SPHERE_MAP
			pushed burningsvideo to 0.43
		added RenderMaterial EMT_REFLECTION_2_LAYER
			pushed burningsvideo to 0.44
		set	EMT_TRANSPARENT_ALPHA_CHANNEL_REF
			to use AlphaRef 0.5 like Direct3D
			
		One Note: in OpenGL there is know difference between sphere_map and reflection layer
		both using GL_TEXTURE_GEN_MODE GL_SPHERE_MAP, whereas in d3d one time using camera_normal
		on sphere and reflection on refletcion_layer.
		
		The visual difference is that on sphere map the "image is not moving" when you rotate the 
		viewer. For Buring i took the opengl visual. always moving
				

	- rename quake3 SEntity to IEntity to be confom with IShader
		even IShader and IEntity are none pure virtual interfaces
		like most irrlicht objects


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2207 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-10 15:08:23 +00:00
Rogerborg ca0c0850c9 http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=32277
Expose CGeometryCreator (as IGeometryCreator) through ISceneManager.  Test app added.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2205 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-09 20:05:53 +00:00
Rogerborg e97eba6d3a Unit tests update. Remove version number from Burning driver name. Rename reference images. Temporarily elide the vector2d<s32> / vector3d<s32> tests to allow for the re-introduced bug in vectorXd<T>::normalize().
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2204 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-09 19:25:36 +00:00
Rogerborg 17784dd0f8 https://sourceforge.net/tracker2/?func=detail&aid=2552603&group_id=74339&atid=540678
Add IVideoDriver methods to enumerate the available image loaders and writers.  Unit test added.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2174 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-31 17:01:45 +00:00
hybrid 276d00398b Now also passes under Linux. Also call a pager on the text file under non-windows systems.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2165 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-29 09:26:17 +00:00
hybrid 858c74c1c5 Finally a successful test run
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2163 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-28 23:33:17 +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
Rogerborg 74658ced68 https://sourceforge.net/tracker2/index.php?func=detail&aid=2498791&group_id=74339&atid=540678
Extend ITriangleSelector::getTriangles() to allow for returning multiple groups of triangles from individual scene nodes.  By default, the 1.5 behaviour will be preserved, and all triangles from all nodes will be returned, even for IMetaTriangleSelectors.  Regression tests confirm this.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2124 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-22 14:14:39 +00:00
Rogerborg 01fa608741 Do some core::dimension2di() conversions required when passing dimension2d<u32> sources as dimension2d<s32> parameters.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2122 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-22 13:00:52 +00:00
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
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
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
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
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
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
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
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