128 Commits

Author SHA1 Message Date
hybrid
f1ec3dad93 Add method which draws the normals of a mesh buffer. Mainly for debug purposes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4025 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-01-04 00:29:21 +00:00
hybrid
bd60a5dcda SMaterial serialization patch by pc0de
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4023 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-01-02 15:35:56 +00:00
hybrid
0c0ee8be53 Add debug data switch for shadow scene nodes. With EDS_SKELETON and EDS_MESH_WIRE_OVERLAY one can draw the whole shadow volume (or just the wireframe of it) instead of just the shadow. Currently only implemented in the hw drivers.
Also fixed a somewhat slow way of not writing to color planes from alphablend(1,0) to proper colormask settings in d3d driver.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3964 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-10-24 00:44:45 +00:00
hybrid
c7ea807729 Change API of IVideoDriver drawStencilShadowVolume method to take an array of vectors instead of just the pointer and the number of vertices. We have this information anyway, so make us of it.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3957 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-10-22 11:28:39 +00:00
hybrid
738b571e40 Change screenshot function to allow reading from other render targets as well. This is not yet fully implemented, just an API preparation for further features. Most drivers don't support the extra targets anyway. But it will be also possible to ask for different color formats, which should be possible on all drivers. Passing ECF_UNKNOWN will choose an optimal color format without the need of pixel value adaptions.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3744 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-24 07:15:26 +00:00
hybrid
29f591f3b0 Add support for relative texture names in atrributes
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3710 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-09 12:47:49 +00:00
hybrid
9478732cc5 Fix naming scheme for occlusion queries. Since those are not to drop, but are stored in the driver and can be removed by the according removeOcclusionQuery call, the name should be addOcclusionQuery instead of createOcclusionQuery.
Added an example showing a very simple occlusion query setup.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3628 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-03-25 23:32:35 +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
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
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
d9c9de5158 Add a new texture lock mode for write-only access. The lock method has changed for this. Support is only implemented under OpenGL so far.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3510 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-12-14 23:32:54 +00:00
hybrid
195c746018 Add driver attribute element for AntiAliasing level. This allows to check whether the driver has AA enabled, and which level.
Fix AA setup for OpenGL under windows, where the extension was missing and no error came up due to unsupported feature request. Now, the driver recognizes the missing support and properly sets AA to 0.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3491 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-12-07 17:58:11 +00:00
hybrid
a72fe29f29 Avoid mipmaps by default, when rendering 2d elements
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3422 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-09-23 12:27:10 +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
d6eb580f95 Add a generic attribute interface for querying video driver attributes which are not necessarily of type bool. This interface allows to check certain supported features, such as the number of user clip planes, supported lights and textures, MRTs, and other things. The interface might change in the future, but it's fully functional already. The supported attributes are listed in the API docs of the function.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3408 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-09-12 11:19:42 +00:00
hybrid
db0375bf15 Add UseMipMaps serialization as pointed out by pc0de
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3402 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-09-09 08:26:04 +00:00
hybrid
7e236b0192 Merged from trunk, revisions 3366-3387. A few bug fixes all over the place.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3388 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-09-05 19:33:06 +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
engineer_apple
ccfcd68a12 added DDS Image Loader
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3334 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-07-06 12:26:39 +00:00
hybrid
6a34c5fd40 Export the color conversion method
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3277 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-04-18 21:17:09 +00:00
hybrid
9e9e55a903 Merged revisions 3218-3270 from branch 1.7. Many bugfixes, mainly in GUI and device, a few mesh loader fixes. Octree culling bug fix.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3271 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-04-03 22:21:50 +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
a8229b3f10 Merged from 1.6 branch, revisions 2936:3075. Several bugfixes for GUI, containers, file system.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3076 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-28 10:56:30 +00:00
cutealien
f0752acdc7 A proposal for fixing the problem with the textures being re-loaded with folder-file-archives.
See bug id 2912581:  http://sourceforge.net/tracker/?func=detail&aid=2912581&group_id=74339&atid=540676
More details described on bug-page.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3043 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-12 09:25:55 +00:00
hybrid
38a44116e2 Change the 2d material interface. Renamed methods and cleaned up reset scheme.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3031 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-08 23:21:38 +00:00
hybrid
6a7b142b49 Add methods to alter the 2d override material.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3029 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-08 18:32:55 +00:00
hybrid
ab5bf465d5 Add InitMaterial2D member, which will be used to alter 2d render state settings. Not yet functional, though, as we need to do more performance tests and API additions.
Added the 2d batch render function to OpenGL as it reduces the amount of render state changes. This makes text rendering far better scaling.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3023 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-08 00:42:45 +00:00
cutealien
7e91fcb00f Simplyfy SNamedPath
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3020 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-07 22:45:39 +00:00
hybrid
1f574c6069 Add support for different primitive types for geometry shaders.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3019 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-07 17:27:22 +00:00
hybrid
fa2c5d0cd4 Change void* parameter in beginScene to SExposedVideoData&, which will allow to configure more features. Due to the constructor for SExposedVideoData this is mostly transparent, just add this type around the currently used pointer.
Please also note that the OpenGL context handling is not yet working, so no real enhancement so far.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3013 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-06 22:17:52 +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
hybrid
51545ba051 Add geometry shaders for OpenGL. Implementation is largely influenced by ideas from devsh. Right now the input and output types are fixed to EPT_TRIANGLES, the maximal output vertices are only limited by the driver, and some geometry shader extensions are wrongly used. Will be fixed in the near future.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2926 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-24 23:35:43 +00:00
hybrid
9b6bbb0477 Unify gpu programming service calls.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2920 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-24 08:31:10 +00:00
hybrid
76c4b0f813 Add access to miplevels in addTexture, texture->lock, and texture->regenerateMipMapLevels.
This allows to create custom mipmap textures manually, or provide them from certain image formats that come with precalculated mipmaps.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2912 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-21 23:24:31 +00:00
hybrid
75f7074ed2 Deprecate some image creation methods.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2908 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-20 17:24:26 +00:00
hybrid
e5488e1777 Support separate U and V texture wrap modes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2872 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-16 15:58:54 +00:00
hybrid
91e86f4c9c Add MRT support for OpenGL and Direct3D9. This patch is heavily based on the code from Nadro. This version supports also special render targets for OpenGL, and is already prepared for further MRT extensions such as per-target blend support. The d3d9 version is not yet tested.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2808 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-06 16:53:35 +00:00
hybrid
28482fb61d Add aprroximated implementation of one of the 2d image methods in Nulldriver. This enables support in the software drivers as well.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2795 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-11-04 11:52:18 +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
9178ca932a Add new videodriver method getMaxTextureSize(). Patch submitted by LoneBoco.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2742 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-23 15:44:31 +00:00
hybrid
ed29e8ad15 Make some convenience functions non-virtual
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2725 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-17 21:10:54 +00:00
hybrid
dbe744d14a Fix draw3dTriangle to render proper 3d objects, not just lines. In order to recover the previous behavior, set the 3d material to wireframe.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2723 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-10-17 20:34:33 +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
hybrid
8b0a0f4d8b Add a general 2d render method. This method accepts vertex and index lists, and needs textures being set via setMaterial before the call to this method. This method is not implemented in the sw drivers.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2586 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-08-10 21:58:14 +00:00
hybrid
707f59b89e Merged revisions 2530:2574 from 1.5 branch. Updated upgrade-guide.txt. Unified point attenuation behavior. Removed wrong inlines.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2575 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-08-07 07:46:29 +00:00
hybrid
03da02bd0e Move color check method to IImage to make it publicly available.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2551 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-08-03 22:01:23 +00:00
monstrobishi
881bb1952f - Added sprite bank draw batching. (Performance improvement is negligible unfortunately, wait for sprite bank VBOs)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2544 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-08-02 04:55:56 +00:00
hybrid
3db8e18554 Use proper method for image format.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2507 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-07-27 16:46:55 +00:00
hybrid
ee9fbd5aaf Move bitmask stuff into member functions, as it's seldomly used.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2503 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-07-27 13:37:35 +00:00
hybrid
b0e11dbd13 Check lock before creating the copy, as suggested by Yoran.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2501 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-07-27 12:06:49 +00:00