Thx @greenya for noticing this is no longer needed as it was only ever used for the CG shader language which we kicked out already.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5846 dfc29bdd-3216-0410-991c-e03cc46cb475
Deprecate PolygonOffsetFactor and PolygonOffsetDirection in SMaterial.
Replace it by PolygonOffsetDepthBias and PolygonOffsetSlopeScale.
Old values still work for now (as well as they did), but will be removed after Irrlicht 1.9.
The old implementation was based a lot on the way Direct3D8 had worked.
- We only had values -1 and 1 for the slope bias before, but sometimes other values are necessary.
- An int value for PolygonOffsetFactor couldn't worked for Direct3D9 which (unlike D3D8) uses a value range of -1 to 1.
Thx @ Criss and devsh for implementing some code which showed that different slope scaling is sometimes needed.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5817 dfc29bdd-3216-0410-991c-e03cc46cb475
CD3D9Driver::setTransform limits no longer to MATERIAL_MAX_TEXTURES, but to MaxTextureUnits.
COpenGLCoreFeature::TextureUnit renamed to COpenGLCoreFeature::MaxTextureUnits (same as Direc3D names it and slightly better description)
Limiting used texture numbers with MATERIAL_MAX_TEXTURES_USED is currently not making a big speed difference. But it has a more noticable effect when we increase _IRR_MATERIAL_MAX_TEXTURES_ soon. It allows software which doesn't need more textures to mostly keep old speed.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5678 dfc29bdd-3216-0410-991c-e03cc46cb475
This increases speed slightly (mainly in debug and more so when we increase max-texture-limit soon).
Texture-matrices are only used together with textures in the fixed function pipeline and for shaders the users
have to to pass them anyway on their own.
So the main difference now is that after setMaterial calls with empty texture pointers we no longer get
a changed texture matrix which can be checked with IVideoDriver::getTransform.
I suppose the main reason where we might want to still access that matrix without a textures is when it's abused to pass values for other stuff in shaders (which is still possible).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5674 dfc29bdd-3216-0410-991c-e03cc46cb475
(time of restoring device is try&error really, with 3 seconds it seemed to work sometimes, but still failed in some cases, so just increasing it slightly to see if helps).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5649 dfc29bdd-3216-0410-991c-e03cc46cb475
The device becomes useless if we don't recover it, so it's worth giving it a few more shots at that point as it might take a while until it can be recovered. The 3 seconds are just a number which seems to make some sense, could be it would be worth waiting even longer?
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5640 dfc29bdd-3216-0410-991c-e03cc46cb475
(OpenGL still needs to be done).
Example will follow.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5627 dfc29bdd-3216-0410-991c-e03cc46cb475
Thanks @gerdb for patch proposal (http://irrlicht.sourceforge.net/forum/viewtopic.php?f=7&t=45999)
Note: Original patch got mostly lost (except the parts posted in the forum). So not sure how close my implementation is to that one. I also simply ignore some of the problems mentioned in that thread. So yeah - meshmanipulator and meshwriters can and will mess up when other primitive types are set for now. It's documented and feature is still useful - other parts can be adapted over time (or ignored, also no big problem).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5425 dfc29bdd-3216-0410-991c-e03cc46cb475
- Added cube maps support to PVR file loader.
- Added support for load cube maps directly via IVideoDriver::getTexture call.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5259 dfc29bdd-3216-0410-991c-e03cc46cb475
- Improved IRenderTarget::setTexture warnings.
- Minor improvements for textures in D3D9 and OpenGL drivers.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5241 dfc29bdd-3216-0410-991c-e03cc46cb475
* ECF_PVRTC_RGB2
* ECF_PVRTC_ARGB2
* ECF_PVRTC_RGB4
* ECF_PVRTC_ARGB4
* ECF_PVRTC2_ARGB2
* ECF_PVRTC2_ARGB4
* ECF_ETC1
* ECF_ETC2_RGB
* ECF_ETC2_ARGB
- Added PVR image loader with support for DXT*, PVRTC* and ETC* color formats.(this feature was available in ogl-es branch before)
- Fixed issue with mipmaps in DDS loader.
- Fixed minor issue with texture cubemap in OpenGL.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5192 dfc29bdd-3216-0410-991c-e03cc46cb475
- Set IImage::lock and IImage::unlock methods as deprecated (those method names was wrong, IImage::unlock did nothing...). Please use IImage::getData method instead of older alternatives.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5168 dfc29bdd-3216-0410-991c-e03cc46cb475
In 4774 we tried fixing zwriting for shader materials as those are ignored in SMaterial::isTransparent.
This affected too many existing projects and made it hard to still write to zbuffer in some situations where it was necessary. So trying now another approach which brings back old functionality mostly, but allows users to have more fine-control with a new flag. Using an enum instead of bool for the new flag as it's foreseeable that more options might be necessary for this in the future.
Note: Several tests are currently failing, but they did that before, so that has to be debugged on it's own.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5076 dfc29bdd-3216-0410-991c-e03cc46cb475
Note, I would have liked to get it compiling again a last time, but it was referring to a class which didn't exists, so I didn't know what to make of that.
NVidia has also stopped supporting this by the way.
No changes for MacOSX project files, so those still might have to be fixed.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5046 dfc29bdd-3216-0410-991c-e03cc46cb475
Fixed issue with missing blending when transparent shader material is used with blending operation set to EBO_NONE.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4774 dfc29bdd-3216-0410-991c-e03cc46cb475
- Added query feature related to DXT compressed textures.
- Added compressed textures support for D3D9.
- Fixed minor bugs in OpenGL related to compressed textures handling.
- Properly handle compressed textures in D3D8 and Software drivers (Those drivers doesn't support compressed textures).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4450 dfc29bdd-3216-0410-991c-e03cc46cb475
- Added ECFN_DISABLED value (it works like ECFN_NEVER worked before) and changed ECFN_NEVER behaviour (it works like its equivalent value in OpenGL/Direct3D).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4424 dfc29bdd-3216-0410-991c-e03cc46cb475
- Restored const-correctness for draw2DImage methods (it was changed in previous revision).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4405 dfc29bdd-3216-0410-991c-e03cc46cb475