irrlicht/include
cutealien 473ab1ea58 Unify checks if materials should use transparent render pass with new IVideoDriver::needsTransparentRenderPass function.
Fix bug that AnimatedMeshSceneNode ignored ReadOnlyMaterials flag when checking materials for transparent render passes.
Make IVideoDriver::getMaterialRenderer const.
Fix bugs in COctreeSceneNode, CMeshSceneNode and CAnimatedMeshSceneNode where check for transparency in OnRegisterSceneNode() and in render() where no longer identical (those got added after Irrlicht 1.8).

Some notes for future:
- Maybe we should have a getRenderPass instead of just needsTransparentRenderPass, but this way the code didn't need so much changes and behaves (aside from fixes) pretty much as before.
- Still wondering if the default implementation in CNullDriver::needsTransparentRenderPass should always return false when SMaterial.ZWriteEnable is set to EZW_ON.
  This might be nicer with another material flag. Thought then we might want a material enum to choose the renderpass and that's more work.
  And we get some recursion as needsTransparentRenderPass might want to check result of getWriteZBuffer which calls needsTransparentRenderPass, so we might need a second function or an additional flag there.
  But return false when SMaterial.ZWriteEnable == EZW_ON could still be done as EZW_ON is a new flag so existing behavior shouldn't break. I just don't know right now if having an extra render pass for transparent nodes might still make sense even when zbuffer is not written or if that's really the only reason to do that. Any feedback anyone?



git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6033 dfc29bdd-3216-0410-991c-e03cc46cb475
2020-01-03 11:13:57 +00:00
..
aabbox3d.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
CDynamicMeshBuffer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
CIndexBuffer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
CMeshBuffer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
coreutil.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
CVertexBuffer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
dimension2d.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
driverChoice.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EAttributes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ECullingTypes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EDebugSceneTypes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EDeviceTypes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EDriverFeatures.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EDriverTypes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EFocusFlags.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EGUIAlignment.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EGUIElementTypes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EHardwareBufferFlags.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EMaterialFlags.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EMaterialTypes.h EMT_REFLECTION_2_LAYER and EMT_TRANSPARENT_REFLECTION_2_LAYER on OpenGL now same as D3D9 version. 2019-12-17 14:05:34 +00:00
EMeshWriterEnums.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EMessageBoxFlags.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EPrimitiveTypes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EReadFileType.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ESceneNodeAnimatorTypes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ESceneNodeTypes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
EShaderTypes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ETerrainElements.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
exampleHelper.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
fast_atof.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
heapsort.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IAnimatedMesh.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IAnimatedMeshMD2.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IAnimatedMeshMD3.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IAnimatedMeshSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IAttributeExchangingObject.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IAttributes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IBillboardSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IBillboardTextSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IBoneSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ICameraSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IColladaMeshWriter.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IContextManager.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ICursorControl.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IDummyTransformationSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IDynamicMeshBuffer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IEventReceiver.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IFileArchive.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IFileList.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IFileSystem.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGeometryCreator.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGPUProgrammingServices.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIButton.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUICheckBox.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIColorSelectDialog.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIComboBox.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIContextMenu.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIEditBox.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIElement.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIElementFactory.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIEnvironment.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIFileOpenDialog.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIFont.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIFontBitmap.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIImage.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIImageList.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIInOutFader.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIListBox.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIMeshViewer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIProfiler.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIScrollBar.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUISkin.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUISpinBox.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUISpriteBank.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIStaticText.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUITabControl.h Avoid warning on gcc/linux. 2019-12-13 11:28:45 +00:00
IGUITable.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIToolbar.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUITreeView.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IGUIWindow.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IImage.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IImageLoader.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IImageWriter.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IIndexBuffer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ILightManager.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ILightSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ILogger.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IMaterialRenderer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IMaterialRendererServices.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IMemoryReadFile.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IMesh.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IMeshBuffer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IMeshCache.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IMeshLoader.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IMeshManipulator.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IMeshSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IMeshTextureLoader.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IMeshWriter.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IMetaTriangleSelector.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IOctreeSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IOSOperator.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleAffector.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleAnimatedMeshSceneNodeEmitter.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleAttractionAffector.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleBoxEmitter.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleCylinderEmitter.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleEmitter.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleFadeOutAffector.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleGravityAffector.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleMeshEmitter.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleRingEmitter.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleRotationAffector.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleSphereEmitter.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IParticleSystemSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IProfiler.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IQ3LevelMesh.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IQ3Shader.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IRandomizer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IReadFile.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IReferenceCounted.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IRenderTarget.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
irrAllocator.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
irrArray.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IrrCompileConfig.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
irrlicht.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IrrlichtDevice.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
irrList.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
irrMap.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
irrMath.h Work on IRRLICHT_FAST_MATH troubles. Document round_ and round32 troubles. 2019-12-16 15:48:35 +00:00
irrpack.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
irrString.h Change string::split once more 2019-12-13 15:30:07 +00:00
irrTypes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
irrunpack.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
irrXML.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ISceneCollisionManager.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ISceneLoader.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ISceneManager.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ISceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ISceneNodeAnimator.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ISceneNodeAnimatorCameraFPS.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ISceneNodeAnimatorCameraMaya.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ISceneNodeAnimatorCollisionResponse.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ISceneNodeAnimatorFactory.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ISceneNodeFactory.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ISceneUserDataSerializer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IShaderConstantSetCallBack.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IShadowVolumeSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ISkinnedMesh.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ITerrainSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ITextSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ITexture.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ITimer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
ITriangleSelector.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IVertexBuffer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IVideoDriver.h Unify checks if materials should use transparent render pass with new IVideoDriver::needsTransparentRenderPass function. 2020-01-03 11:13:57 +00:00
IVideoModeList.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IVolumeLightSceneNode.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IWriteFile.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IXMLReader.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
IXMLWriter.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
Keycodes.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
leakHunter.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
line2d.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
line3d.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
matrix4.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
path.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
plane3d.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
position2d.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
quaternion.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
rect.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
S3DVertex.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SAnimatedMesh.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SceneParameters.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SColor.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SExposedVideoData.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SIrrCreationParameters.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SKeyMap.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SLight.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SMaterial.h Unify checks if materials should use transparent render pass with new IVideoDriver::needsTransparentRenderPass function. 2020-01-03 11:13:57 +00:00
SMaterialLayer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SMesh.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SMeshBuffer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SMeshBufferLightMap.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SMeshBufferTangents.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SOverrideMaterial.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SParticle.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SSharedMeshBuffer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SSkinMeshBuffer.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SVertexIndex.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SVertexManipulator.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
SViewFrustum.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
triangle3d.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
vector2d.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00
vector3d.h Avoid warning and make local variable lower-case. 2019-12-12 16:32:41 +00:00