153 Commits

Author SHA1 Message Date
hybrid
b34352deac rename texureBlend functions to textureBlend
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4047 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-01-20 17:54:33 +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
5d7b7931e6 Fix rendering with only index buffers. Basically, this is now removed, because d3d seems not to support this. Hence we can only render with hw buffers, if both vertex and index buffers are enabled.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3908 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-09-07 17:04:10 +00:00
hybrid
68bbf21e64 Fix shader version calculation
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3820 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-06-07 21:53:55 +00:00
hybrid
b2f1c1ffd7 Fix attribute value for maximal lights. Add video driver feature flag for texture matrix support.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3818 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-06-07 20:12:26 +00:00
hybrid
eba0f91834 Fix d3d9 adapter reference, found by yoran.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3769 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-30 15:15:58 +00:00
hybrid
d542ddaa7a Return 0 screenshot where targets are unsupported. D3D now supports automatic conversion to all basic color formats.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3753 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-25 22:28:15 +00:00
hybrid
3df56aee3b Remove references to CImage.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3748 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-25 09:37:26 +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
847e4cb038 Add proper unit for video memory output.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3739 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-20 22:00:55 +00:00
hybrid
b1ddb0475d Fix render size update after render target change. Only happened with some render targets.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3737 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-20 21:29:13 +00:00
hybrid
c889104aaf Add output about available video memory to d3d9 driver.
Allow changing zbuffer enable and write in 2d override material.
Introduce NO_CLIP hints to d3d9 and opengl driver for 2d mode. Since we clip all 2d operations manually, it should be safe to tell the driver to disable clipping here. Might help on slower machines and is generally suggested by the hw vendors. We might introduce a mesh flag for this as well in the future, in order to disable clipping for larger geometry as well.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3736 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-20 16:36:39 +00:00
hybrid
3e1e9eea34 Remove 2d render settings cache completely, as it didn't seem to speed up things, but only introduced complexity and failures. Speed up text rendering under dx again, just as before in OpenGL by skipping too many render state resets. Unified all three setRenderStates2DMode methods.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3734 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-20 14:25:30 +00:00
hybrid
1e0b237cc9 Fix cache handling for 2d setup settings
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3733 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-20 11:47:41 +00:00
hybrid
369febf7cb Disable the linearize flag if no SRGB handling. It's probably not necessary then, only in very special cases. But I'm not really sure about this...
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3732 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-19 21:35:44 +00:00
hybrid
92f1299cd2 Add flag to enable sRGB correct color calculations (e.g. blend and lighting). This allows for much better color calculations, but requires to change the explicitly defined colors in the code to be converted to linear color space.
Changed many init routines to use SIrrlichtCreationParameters struct instead of many single parameters.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3729 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-19 20:07:13 +00:00
lukeph
65120d77b8 -Fixed bugs in new 'blend operation' code, the 'if' checks on EBO_NONE could never return true, so everything was set to blend
-Fixed performance bug in CTerrainSceneNode, noticed that preRenderLODCalculations() is ran every render, instead of just when LOD data is recalculated.
  This increases the frame-rate on 'Terrain Rendering Example 12' from 410fps to 1300fps on my machine.




git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3728 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-19 17:19:23 +00:00
hybrid
68f10e784d Check if low-level texture for RTT was created, otherwise return nullptr to signal failure in RTT creation. Thanks to stefbuet for pointing out this problem.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3693 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-05-01 23:02:57 +00:00
hybrid
f36090db01 Finally change d3d drivers over to the compact parameter passing version
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3683 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-04-28 15:49:16 +00:00
hybrid
8173e66877 Another exotic extension, which can be emulated by the new AMD extension as well, but is mostly found on ancient SGI machines.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3680 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-04-28 11:45:37 +00:00
hybrid
4424ffec5f Support new blend op from recent AMD extension. OpenGL/AMD only for now.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3679 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-04-28 11:32:37 +00:00
hybrid
9499db5637 Add support for blend operation field.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3652 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-04-21 13:08:48 +00:00
hybrid
c895c0e150 Add implementations for polygon offset in hw drivers.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3651 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-04-21 11:54:14 +00:00
hybrid
99dbf71a68 According to MSDN, setting the ALPHAOP to disable while COLOROP is active leads to undefined behavior. So I cleaned up the material settings in d3d9 driver and hope that I got all things fixed again. Also inserted some helper functions to reduce the code in the renderers. Changed the alpha behavior of transparent_reflections_2layer (probably...) to match better with OpenGL and description.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3641 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-04-14 17:19:33 +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
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
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
884ede4efd Fix transformation matrices for OpenGL rendering after setRenderTarget.
Fix draw2DImage into RTT in BurningsVideo
Let ViewPorts unchanged if illegal viewport was given.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3490 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-12-07 16:21:43 +00:00
hybrid
a7eb327b3b Fix MRT reset code. This fixes usage of MRTs under d3d. Test case comes later.
Also fix the driver attribute setting in d3d driver.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3412 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-09-14 09:17:58 +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
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
hybrid
68d91c65d0 Fix render state update for UseMipMaps flag in d3d drivers. Thanks to kvakvs for the bug ticket and fix.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3374 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-08-29 14:47:52 +00:00
hybrid
e8fa33e154 Merged from 1.7 branch, revisions 3300-3357. Huge number of bug fixes, mostly in GUI and serialization.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3358 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-07-17 22:45:45 +00:00
cutealien
9add67593e Add parameter DisplayAdapter to allow selecting the card when more than one card is in the system. Only D3D support so far and not yet tested (test-system will arrive in a few days).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3311 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-06-14 13:47:50 +00:00
hybrid
a5046f4b29 Merged from branch 1.7, revisions 3290-3299. Few bugfixes, typo in GUI event, unicode fixes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3300 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-06-01 22:03:10 +00:00
hybrid
b6d83d97c1 Fix 64bit precision problem due to pointer/uint casts.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3275 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-04-17 22:10:42 +00:00
cutealien
7e12ac9b95 Fix mipmap flag interpretation in d3d8 and d3d9 devices (enabling in materials accidentally disabled them).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3274 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-04-16 10:06:08 +00:00
hybrid
d5deb716ef Add a new material flag which can disable mipmap usage completely via a boolean switch.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3273 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-04-05 16:03:17 +00:00
hybrid
99a25cfbc9 Remove debug output, add ifdefs for OpenGL versions not supporting ARB_occlusion_query. Add support for NV_occlusion query.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3266 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-04-01 16:18:42 +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
c981decf86 Some cleanup in stencil setup.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3213 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-02-09 21:01:56 +00:00
hybrid
96310b964d Merged revisions 3172:3197 from 1.7 branch. Some more bug fixes and doc updates from the 1.7 beta phase.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3198 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-02-02 20:53:57 +00:00
hybrid
0ca3ba3744 Merged revisions 3089-3138 from 1.7 branch. Full merge, all changes from 1.7 beta phase up to now are included.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3139 dfc29bdd-3216-0410-991c-e03cc46cb475
2010-01-08 11:46:38 +00:00
hybrid
6cc3ffc5be Add 2d override material for other hw drivers.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3032 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-09 00:04:41 +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
hybrid
504a2474d5 Fix HLSL support, which was broken due to a wrong overload. Mentioned by Yoran
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2983 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-12-04 21:39:19 +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