Commit Graph

1141 Commits (868d73e24977ec71981800631d9d891fb8f9ceab)

Author SHA1 Message Date
hybrid 868d73e249 Performance optimization.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2228 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-23 17:27:07 +00:00
bitplane 8a0a55441d adapted OSX device code style to Irrlicht's rather than Cocoa's. Initial attempt at software driver support, isn't refreshing each frame yet
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2227 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-20 03:15:01 +00:00
hybrid 96ae0085f5 Fix dimension2du and getFileName signatures.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2226 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-19 23:01:57 +00:00
hybrid d27e4a280c Make semicolon checks less strict, fixing some issues with not absolutely correct .x files (which are loaded by MView, though).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2224 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-18 21:25:13 +00:00
bitplane 3200932257 Removed mouse X buttons for Windows SDKs before Win2k, reported by zillion42
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2223 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-17 15:02:06 +00:00
hybrid 5e43f1f644 Ignore some files in SVN.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2222 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-17 08:19:43 +00:00
bitplane 40bdfb3179 typo in ISceneManager docs to do with scene parameters
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2220 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-16 20:47:55 +00:00
bitplane bf91012549 Added workaround for SDL resetting glFrontFace(GL_CCW) after driver creation
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2219 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-16 19:20:47 +00:00
bitplane e7f7156ead Added mouse mask and middle mouse click events to OSX device
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2218 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-16 18:01:57 +00:00
bitplane a6c241ee89 Made enum for mouse button state mask
Win32: Added X buttons to mouse. 
SDL: Swapped middle and right buttons, added button state mask and fixed unresolved external. 
GUI: Fixed scroll input in combo box.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2217 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-16 17:28:17 +00:00
bitplane a7f93092ca Added mouse button states to drag/move events
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2216 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-16 13:42:35 +00:00
bitplane ba38526210 Had to rename some reserved words in (maybe objc++ but possibly macros to do with xcode?) IQ3Shader::id to ID, string::verify to validate.
Put casts back into OSX driver

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2215 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-15 23:10:21 +00:00
bitplane 510bb72e65 Updated version string
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2214 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-15 19:18:05 +00:00
bitplane 39c665ebd8 fixed treeview when compiling without GUI
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2213 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-13 11:06:34 +00:00
bitplane 24552f90cf added SViewFrustum::clipLine
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2212 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-13 10:27:44 +00:00
engineer_apple 7ddbd4f886 - destination alpha saving for CImage
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2211 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-11 23:53:15 +00:00
engineer_apple 6ad288bf1a git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2210 dfc29bdd-3216-0410-991c-e03cc46cb475 2009-02-11 19:58:51 +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 df30597294 Add missing IGeometryCreator.h file. It's missing comments (which I'll add tonight) along with tests/testGeometryCreate.cpp.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2206 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-10 13:40:13 +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 a1781cbb7e Ooops. In we go.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2203 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-09 17:12:37 +00:00
hybrid 42b0b92cab Two more self-assignment fixes. setMesh still resets the values, though.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2201 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-06 11:56:37 +00:00
hybrid 6cf999bcaf Fix warnings/errors from latest updates.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2200 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-05 17:37:45 +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
hybrid 2eb72c3234 Fix GLXVisual creation for glx 1.2 and older.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2197 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-05 09:35:45 +00:00
hybrid 3708c5d1bd Global override material. Set and enable Material flags which will override materials of each scene node in the enabled render passes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2195 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-04 00:22:49 +00:00
hybrid 9ef5622505 Add warning if mesh has too many vertics with 16bit indices.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2194 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-03 23:53:08 +00:00
hybrid 18b7b4a55c Optimized texture matrix setting.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2193 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-03 23:51:03 +00:00
hybrid 9f47c2ee26 Make material flag enum combinable.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2192 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-03 23:42:26 +00:00
hybrid 5af050be2c Make renderpass enum combinable.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2191 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-03 23:29:48 +00:00
hybrid 5266da908a Changed from bbox extent to stored texture size for planar mapping ratio.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2190 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-02 22:10:42 +00:00
hybrid 543407812f Added another parameter for the new planar mapping operator
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2189 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-02 22:08:31 +00:00
hybrid b462a3e9d9 Move texture loading to the end, and skip empty meshbuffers.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2188 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-02 16:36:31 +00:00
hybrid 76691deb4b Fix array bounds for now.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2187 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-02 13:11:37 +00:00
hybrid 9baff2f017 Fix texture loading.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2186 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-02 10:52:05 +00:00
hybrid 87a66e3f67 Avoid self-assignment causing wrong drop, found by CuteAlien.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2185 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-02 10:07:41 +00:00
hybrid cf81e50f52 Fix signedness warning.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2184 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-02 09:47:09 +00:00
hybrid a6a9950c80 Fix vector reading and use simpler axis determination.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2183 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-02 00:22:14 +00:00
hybrid b32da4e963 Many new features, e.g. (partial) planar mapping support and discontinuous texture coords (loosely based on Auradrummers code). Best thing is still to export only real UV coords.
Still a problem with normals, although they are now generated with Irrlicht's meshmanipulator methods.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2182 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-01 23:46:26 +00:00
hybrid 57c16f70d8 Added new makePlanarMapping method with one major axis for the whole mesh buffer, and different resolutions in S and T.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2181 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-01 23:43:44 +00:00
hybrid e06d5090b2 Cleaned up changes.txt
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2180 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-01 23:38:16 +00:00
hybrid 5745b3f422 Fix colormask deserialization default.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2179 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-01 21:52:47 +00:00
Rogerborg be994b9f22 Set a more useful initial camera position in example 07.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2178 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-01 19:34:22 +00:00
Rogerborg 5478f80545 https://sourceforge.net/tracker2/?func=detail&aid=1797487&group_id=74339&atid=540678
- Triangle selectors created from animated mesh scene nodes will update themselves as required to stay in sync with the node.
 - ISceneCollisionManager::getSceneNodeAndCollisionPointFromRay() allows selection by BB and triangle on a heirarchy of scene nodes.
Example 07 updated to show the usage of ISceneCollisionManager::getSceneNodeAndCollisionPointFromRay(), used on animated meshes.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2177 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-01 18:56:05 +00:00
Rogerborg 78f9dee79c http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=32182
Expose the IMeshBuffer of an IVolumeLightSceneNode.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2175 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-31 22:45:46 +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
Rogerborg bd192519d6 http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=32019
Derive COctTreeSceneNode from IMeshSceneNode instead ISceneNode, and have it return the IMesh that was used to create its octtree.  Tested with a slightly modified example 07.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2173 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-31 15:58:43 +00:00