128 Commits

Author SHA1 Message Date
hybrid
6d9a31a037 Add functions and constructor parameter to set the distance of the maya camera from the currently used target.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4002 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-12-03 16:26:59 +00:00
hybrid
5a663375b4 Remove calls to getVideoDriver by direct member access. Found by REDDemon.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3936 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-10-08 11:40:27 +00:00
hybrid
39e76d36d2 Fix mem leak found by gbox.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3921 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-09-18 21:20:25 +00:00
hybrid
fa754dd47b Add normals recalculation in case it is missing in the ply file
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3911 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-09-09 13:33:35 +00:00
cutealien
4533956fab ColladaMeshWriter: Add light export. Meshname handling cleaned up.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3868 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-06-23 17:40:27 +00:00
hybrid
52f84ab7e9 Change type for stored and passed lights array. In most situations, only the ISceneNode was used, and the type is not necessarily ILightSceneNode anyway. So generalize this interface and the storage arrays internally.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3722 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-12 16:46:20 +00:00
hybrid
652aa8aec1 Enable relative texture names in material serialization
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3711 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-09 12:50:08 +00:00
hybrid
ce755201e0 Fix empty line count.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3647 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-04-21 11:50:38 +00:00
hybrid
cfe5161530 Fix pathname type to support unicode names. Fix by Nalin.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3587 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-02-04 13:37:18 +00:00
hybrid
658cc28240 Fix compilation with all skinned mesh loaders disabled.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3583 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-02-03 22:47:06 +00:00
bitplane
7543da637a Added ISceneManager::createSceneNodeAnimator to create an animator by name, so scene loaders don't need to worry about how the animator factories are used.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3579 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-02-03 06:56:26 +00:00
bitplane
d9798dafe7 Added SMF loader, supporting 3D World Studio meshes. Originally written by Joseph Ellis
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3575 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-01-31 10:43:08 +00:00
bitplane
e451fa41c2 The loader selection process now consistently checks loader lists in reverse order, so new loaders added to Irrlicht override the internal ones. This applies when adding external mesh, image, scene and archive loaders, image writers, plus node, animator and GUI element factories.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3568 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-01-20 08:50:15 +00:00
bitplane
07bc66af6c Renamed ISceneLoader::isALoadableFileType to isALoadableFileFormat to match the archive and image loader interfaces. Added getters for mesh, scene and archive loaders.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3567 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-01-20 05:47:50 +00:00
bitplane
901dac358a Added scene loader interface and moved the .irr loading code out to CSceneLoaderIrr. In future can support scene formats properly rather than loading them as meshes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3566 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-01-17 20:12:17 +00:00
bitplane
6eaddbf1b9 Order the list of mesh loaders so that the least commonly used ones are at the bottom of the stack, may give a small performance boost when loading many models from a zip file
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3565 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-01-17 15:34:06 +00:00
hybrid
5e4d495dcc Bump copyright dates to 2011.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3556 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-01-14 13:24:40 +00:00
hybrid
f1cc2dca01 Fix writeScene change in order to write the given node and its descendants, not only the list of children to the scene file.
Add support for loading a scene file as childs of a given node. This will ignore the scene attributes and load all nodes of the scene, storing them as children of a given parent node. The rest will stay as before, including the default behavior to load scene attributes and all nodes directly into the scene manager.
Test cases added for both methods loadScene and saveScene. In order to find a node in the example scene from tutorial 15 I have added a name and ID to one of the scene elements.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3532 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-01-03 17:54:10 +00:00
hybrid
080a2ebab3 Add support for saving only part of the scene into a .irr file.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3531 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-01-03 14:38:51 +00:00
hybrid
1ad3c74407 Merge from 1.7 branch, revisions 3449-3513. createImage fixed. Many GUI fixes. Saved particles can be loaded again. Volume light, skydome and water scene node updates. Let hw mapping hint be loaded. D3D reset fix, now terrain scenes can resize screens again.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3514 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-12-19 19:39:20 +00:00
hybrid
fc8bf66fbc Fix driver attribute setting in all other drivers.
Fix wrong destruction calls, due to missing drop ion the attribute. Was a cyclic dependency on the video driver.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3413 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-09-14 09:22:33 +00:00
hybrid
000efed8cf Add some default parameters.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3389 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-09-05 21:46:27 +00:00
engineer_apple
816d5655fc - added Halflife 1 Model Loader
- added Halflife 1 Texture Loader
- slightly changed usage of getMesh ( doesn't effect existing implementation)

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3335 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-07-07 16:16:03 +00:00
hybrid
ccd1a241c3 Occlusion Query support.
I've finally took on Nadro's code from the forum and adapted it to overcome some restrictions of the original code. Moreover, there are some additional tweaks to make it simpler to use. A few minor things might still change in the future, but for now it looks like a proper implementation with many useful use cases. I'll come back on this in the next time when I provide an example for efficient usage of occlusion queries.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3265 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-04-01 15:40:10 +00:00
hybrid
675fd7637e Merge revisions 3139:3171 from 1.7 branch. Many new tests and bug fixes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3172 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-01-23 16:53:15 +00:00
cutealien
28a04fbd42 Renamed OctTree to Octree
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3062 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-20 22:10:53 +00:00
cutealien
58764ce8b9 - Keep filenames additionally to internally used names for meshes, fonts, textures and sprites to fix problems with uppercase-filenames on Linux.
- Adapt MeshCache interface to make the difference between names and filenames more clear. Old functions behave the same, but are deprecated.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3004 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-06 04:52:15 +00:00
cutealien
622bd16ba1 SceneNodeAnimatorFollowSpline can now loop and pingpong.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2966 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-01 18:26:52 +00:00
hybrid
3d467cb42e Merged revisions 2778:2832 from 1.5 branch. Fix a driver feature return value and a render state bug for OpenGL.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2833 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-10 16:30:34 +00:00
hybrid
9c672f8c08 Oops, off by one.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2801 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-04 14:56:47 +00:00
hybrid
01478210af Make sure we init all matrices.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2796 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-04 11:57:00 +00:00
hybrid
bb4727f201 Use new typedef.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2786 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-03 10:22:29 +00:00
monstrobishi
d21b144624 - Fixed active camera scene node registering itself twice (This causes anything parented to the camera to get drawn twice, potentially a major performance issue). Scene manager now calls "render()" to update the active camera's matrices prior to doing culling, rather than OnRegisterSceneNode.
- Fixed the object-space lighting normal mapping/parallax mapping bug in OpenGL. Parallax offset still looks a bit weird in OpenGL compared to D3D IMO.
 - Fixed a compile warning in D3D9 driver.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2775 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-31 06:00:53 +00:00
hybrid
ddc0a95cd4 Fog serialization patch by pc0de.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2773 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-30 16:21:19 +00:00
hybrid
d9e92b0783 Add FPS getter for Animated Mesh SN, add some values in serialization.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2767 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-28 13:42:47 +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
2917a98867 Add possibility to add cameras without immediately making them active. Feature request by kkrizka.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2745 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-23 16:39:55 +00:00
hybrid
07280fa080 Simplify camera methods.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2744 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-23 16:33:19 +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
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
hybrid
00193a810f Check pointer before using it.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2379 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-05-08 16:30:57 +00:00
hybrid
ad8579ca81 Make the method isCulled publicly available
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2361 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-04-28 23:36:39 +00:00
hybrid
f91ece5e39 volume light mesh creation methods, provided by iondune
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2342 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-04-22 21:37:33 +00:00
hybrid
ca07a70436 Constification for line3df paramater and reindentation.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2308 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-03-30 09:36:30 +00:00
hybrid
00c112d522 Make geometry creator reference counted.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2299 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-03-27 12:43:23 +00:00
bitplane
ce44c10fa4 Added PLY reader, currently only supports ascii and little-endian binary files.
Added mesh writer flag for binary export, not used yet.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2251 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-03-05 02:03:40 +00:00
bitplane
00be4fed05 Added PLY writer and added VC9 project for mesh converter
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2248 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-03-02 11:46:47 +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
engineer_apple
c130d56b76 Changes in 1.6 TA
- fixed createMeshWith2TCoords
		normals were missing during copy. 
	- addded
		//! Creates a copy of the mesh, which will only consist of S3DVertex vertices.
		IMesh* CMeshManipulator::createMeshWith1TCoords(IMesh* mesh) const

	- added io::IFileSystem* CSceneManager::getFileSystem()
		for preparing to remove the (mostly) unnecessary double member variables
		in many loaders

	-	added virtual const c8* ISceneManager::getAnimatorTypeName(ESCENE_NODE_ANIMATOR_TYPE type);
		to the SceneManger Interface. just like getTypeName is public
	
	- added CSceneNodeAnimatorFlyCircle::radiusEllipsoid.
		if radiusEllipsoid == 0 the default circle animation is done
		else radiusEllipsoid forms the b-axe of the ellipsoid.
		
		-> gummiball bouncing
		
	- added ISceneManager::createFlyStraightAnimator variable bool ping-pong
		used in loop mode to device if start from beginning ( default ) or make ping-pong
		
		-> straight bouncing

	- changed IFileSystem::registerFileArchive
		remove the index of the hiarchy and added a new interface method
	
		//! move the hirarchy of the filesystem. moves sourceIndex relative up or down
		virtual bool moveFileArchive( u32 sourceIndex, s32 relative ) = 0;
	
	 	
	- bugfix and changes in
		SViewFrustum::SViewFrustum
		wrong size of Matrices copy. This bug must be ages old... (typo)
		detected during resizing the Matrices. removed obsolute Matrices
		renamed E_TRANSFORMATION_STATE_2 to E_TRANSFORMATION_STATE_FRUSTUM
		
		therefore also changed SViewFrustum::setTransformState to not tap
		in the pitfall again of wrong memory...
		and renamed it to getTransform, like in the driver
		and Matrices private
		
	- OpenGL:
		Specular 
	- moved
		//! EMT_ONETEXTURE_BLEND: has BlendFactor Alphablending
		inline bool textureBlendFunc_hasAlpha ( E_BLEND_FACTOR factor ) const
		from the material renderes ( 3x declared ) to SMaterial.h

	- updated managed light example to use standard driver selection
	- BurningsVideo
		- LightModel reworked.
			Point Light & Direction Light works for Diffuse Color as aspected
			Specular and Fog still have problems ( needs new pixel shader )
			pushed burningsvideo to 0.42 for this major step

		-	removed obsolete matrix transformations
			renamed E_TRANSFORMATION_STATE_2 to E_TRANSFORMATION_STATE_BURNING

			
	- cleaned line3d.h vector3d.h template behavior.
		many mixed f32/f64 implementations are here. i'm not sure if this should be
		the default behavior to use f64 for example for 1.0/x value, because they
		benefit from more precisions, but in my point of view the user is responsible
		of choosing a vector3d<f32> or vector3d<f64>.
	- added core::squareroot to irrmath.h
		-> for having candidates for faster math in the same file
	- added AllowZWriteOnTransparent from SceneManager to burningsvideo	
		Following SceneManger guideline
	-added hasAlpha() to ITexture
		This info can be used for e.q to downgrade a transparent alpha channel blit
		to add if the texture has no alpha channel.
	


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2199 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-05 15:33:55 +00:00