Commit Graph

929 Commits (8a0a55441d9f86970b0f28f8943ddd4b86817325)

Author SHA1 Message Date
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 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
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 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
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
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
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 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 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 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 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
hybrid 0e00187fdd Aded a meshbuffer version of makePlanarTextureMapping.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2171 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-30 17:40:09 +00:00
hybrid 7810313bd5 Added some more supported material properties.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2170 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-29 17:45:16 +00:00
hybrid 5f2e459f49 Replaced path method by FileSystem function. Replaced const ints by enum.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2169 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-29 17:02:44 +00:00
hybrid b6a67db12b Added transparency for LWO files.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2168 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-29 17:01:56 +00:00
hybrid 04f045c2ac Fix compilation without sw renderers, submitted by pc0de.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2167 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-29 16:18:51 +00:00
hybrid 3735b5308d SMaterial deserialization patch by pc0de
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2164 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-28 23:45:59 +00:00
hybrid 8ca2ea0fd5 Fix too small char buffer.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2161 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-28 23:23:30 +00:00
hybrid 63199557f1 Fix some warnings and a template problem with gcc 4.x
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2158 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-28 16:07:59 +00:00
engineer_apple cf7246f704 xbox update.
example 21.update. save/load game data on driver change

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2157 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-28 14:52:13 +00:00
hybrid 06a7811de8 pak reader extension fixed.
Copyright year pushed to 2009.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2154 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-28 09:11:42 +00:00
hybrid 04efb300bc Missed a depth func rename
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2153 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-28 00:35:56 +00:00
hybrid 91356d3c56 Fix D3D8 MIPMAP LOD Bias.
Fix b3d loader.
Remove empty destructor.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2152 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-28 00:33:58 +00:00
hybrid 2f315b4349 Fix some project issues.
Adapted some more methods to the new string API.
renamed FileSystem method.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2150 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-27 22:26:38 +00:00
hybrid 2f2f23c21a Fix some warnings under Linux.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2149 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-27 17:45:16 +00:00