The latest SVN bugs thread
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Re: The latest SVN bugs thread
Yeah, sorry. Problems stems from a merge conflict 1.7->1.8, so is also in the 1.8 branch. Fixed there now, merging up to trunk
Re: The latest SVN bugs thread
Latest svn version (4404) not building release build, have not tried debug build.
Most likely caused by recent change from nadro
This just using the default MakeFile as usual. Does though work when removing -fno-rtti from line 66 of Makefile.
Most likely caused by recent change from nadro
This just using the default MakeFile as usual. Does though work when removing -fno-rtti from line 66 of Makefile.
Code: Select all
In file included from COpenGLSLMaterialRenderer.cpp:16:0:
COpenGLSLMaterialRenderer.h: In constructor ‘irr::video::COpenGLSLMaterialRenderer::COpenGLSLMaterialRenderer(irr::video::COpenGLDriver*, irr::s32&, const c8*, const c8*, irr::video::E_VERTEX_SHADER_TYPE, const c8*, const c8*, irr::video::E_PIXEL_SHADER_TYPE, const c8*, const c8*, irr::video::E_GEOMETRY_SHADER_TYPE, irr::scene::E_PRIMITIVE_TYPE, irr::scene::E_PRIMITIVE_TYPE, irr::u32, irr::video::IShaderConstantSetCallBack*, irr::video::E_MATERIAL_TYPE, irr::s32)’:
COpenGLSLMaterialRenderer.h:133:9: warning: ‘irr::video::COpenGLSLMaterialRenderer::Program2’ will be initialized after [-Wreorder]
COpenGLSLMaterialRenderer.h:123:27: warning: ‘irr::video::COpenGLMaterialRenderer* irr::video::COpenGLSLMaterialRenderer::BaseMaterial’ [-Wreorder]
COpenGLSLMaterialRenderer.cpp:32:1: warning: when initialized here [-Wreorder]
COpenGLSLMaterialRenderer.cpp:60:98: error: ‘dynamic_cast’ not permitted with -fno-rtti
In file included from COpenGLSLMaterialRenderer.cpp:16:0:
COpenGLSLMaterialRenderer.h: In constructor ‘irr::video::COpenGLSLMaterialRenderer::COpenGLSLMaterialRenderer(irr::video::COpenGLDriver*, irr::video::IShaderConstantSetCallBack*, irr::video::E_MATERIAL_TYPE, irr::s32)’:
COpenGLSLMaterialRenderer.h:133:9: warning: ‘irr::video::COpenGLSLMaterialRenderer::Program2’ will be initialized after [-Wreorder]
COpenGLSLMaterialRenderer.h:123:27: warning: ‘irr::video::COpenGLMaterialRenderer* irr::video::COpenGLSLMaterialRenderer::BaseMaterial’ [-Wreorder]
COpenGLSLMaterialRenderer.cpp:78:1: warning: when initialized here [-Wreorder]
COpenGLSLMaterialRenderer.cpp:86:98: error: ‘dynamic_cast’ not permitted with -fno-rtti
g++ -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing -fexpensive-optimizations -O3 -I../../include -Izlib -Ijpeglib -Ilibpng -I/usr/X11R6/include -DIRRLICHT_EXPORTS=1 -c -o CD3D8Driver.o CD3D8Driver.cpp
make: *** [COpenGLSLMaterialRenderer.o] Error 1
make: *** Waiting for unfinished jobs....
Re: The latest SVN bugs thread
Casting here should be safe, so I'll change dynamic_cast. Thanks for report this bug. Today I would commit next improvements.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Re: The latest SVN bugs thread
hi,
dont wanna to open a own thread for this.
~CD3D9ShaderMaterialRenderer(); has to be virtual.
and also this two functions:
~CD3D9HLSLMaterialRenderer();
bool OnRender(...);
regards
zerochen
dont wanna to open a own thread for this.
~CD3D9ShaderMaterialRenderer(); has to be virtual.
and also this two functions:
~CD3D9HLSLMaterialRenderer();
bool OnRender(...);
regards
zerochen
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Re: The latest SVN bugs thread
These functions are automatically virtual, but it is probably good style to have it in those files as well.
Re: The latest SVN bugs thread
just for understanding whether i think right:
if the destructor of CD3D9ShaderMaterialRenderer isnt virtual, it will not be called if a class derived from it
like CD3D9HLSLMaterialRenderer does. so it has to be virtual. isnt it?
if the destructor of CD3D9ShaderMaterialRenderer isnt virtual, it will not be called if a class derived from it
like CD3D9HLSLMaterialRenderer does. so it has to be virtual. isnt it?
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Re: The latest SVN bugs thread
No, virtual is automatically inherited. Since the destructor of the base class (IMaterialRenderer) is virtual, all descendants are as well. This also holds for all other "normal" methods. Hence, adding this keyword in the descendant classes is nice to have, just to know whether it's virtual without looking into the bbase classes, but it's not necessary.
Re: The latest SVN bugs thread
ah ok thanks for clearing up:)
Re: The latest SVN bugs thread
Anyone look at the MeshViewer Example recently? Since about 4410(I think) Using 4415 right now. The model debug info is an insane mess! That excludes bounding box calculations for collisions though. Mostly it seems purely cosmetical, but massively annoying, also happens in a different App of mine on the GUI, the lines always draw up from the bottom/top right corner of the gui objects.
Edit: This does not happen on my Linux Box, only on my Windows Laptop. So likely there may be some external troubles.
Oh and a Happy Merry Christmas to Everyone!
Edit: This does not happen on my Linux Box, only on my Windows Laptop. So likely there may be some external troubles.
Oh and a Happy Merry Christmas to Everyone!
Re: The latest SVN bugs thread
hi,
example 3 is broken with the lastest rev (only opengl). it seems that the textures arent resetted.
regards
zerochen
example 3 is broken with the lastest rev (only opengl). it seems that the textures arent resetted.
regards
zerochen
Re: The latest SVN bugs thread
Thanks for a reports. I'll check it tomorrow
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Re: The latest SVN bugs thread
2 bugs fixed
I have to say that bug reported by zerochen also exist in other drivers with smaller effect (texture parameters eg. filtering aren't updated). For example scene have 2 nodes with the same SMaterial, but other SMaterialLayer values. In current drivers code (OGL is already improved) both nodes will render with the same material and mostly with the same textures parameters (eg filtering)! because textures parameters are updated only once in OnSetMaterial/setBasicRenderStates, second time a setBasicRenderStates will be not call because from a compare SMaterial operator perspective these 2 nodes use the same material. Thats why I moved textures update to OnRender method. With a cache system this method is cheap, so we can call this on each OnRender without performance drop.
I have to say that bug reported by zerochen also exist in other drivers with smaller effect (texture parameters eg. filtering aren't updated). For example scene have 2 nodes with the same SMaterial, but other SMaterialLayer values. In current drivers code (OGL is already improved) both nodes will render with the same material and mostly with the same textures parameters (eg filtering)! because textures parameters are updated only once in OnSetMaterial/setBasicRenderStates, second time a setBasicRenderStates will be not call because from a compare SMaterial operator perspective these 2 nodes use the same material. Thats why I moved textures update to OnRender method. With a cache system this method is cheap, so we can call this on each OnRender without performance drop.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Re: The latest SVN bugs thread
The SMaterialLayer shoudl contain only those filters which are set per texture, and not per material. This would update them always when the texture cache checks if the correct textures are loaded. So far we made a little too many calls to the drivers maybe, but IMHO all these settings were correctly made.
Re: The latest SVN bugs thread
Thanks for the quick work Nadro!
Once again all is wonderful in the land of irrlicht.
Once again all is wonderful in the land of irrlicht.
Re: The latest SVN bugs thread
@Hybrid
Yep I know, but currently when the texture cache checks if the correct textures are loaded, texture is applied, but filtering etc not, because all parameters are updated in setBasicRenderStates (which is depend on SMaterial, not SMaterialLayer). Only setActiveTexture and OnRender methods are currently ok for update texture states, thats why we'll have to move code related to textures from setBasicRenderStates to setActiveTexture. In future I probably will move and integrate setTextureRenderStates with setActiveTexture in OGL driver, so all internal drivers organization will be unified again.
Yep I know, but currently when the texture cache checks if the correct textures are loaded, texture is applied, but filtering etc not, because all parameters are updated in setBasicRenderStates (which is depend on SMaterial, not SMaterialLayer). Only setActiveTexture and OnRender methods are currently ok for update texture states, thats why we'll have to move code related to textures from setBasicRenderStates to setActiveTexture. In future I probably will move and integrate setTextureRenderStates with setActiveTexture in OGL driver, so all internal drivers organization will be unified again.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes