The latest SVN bugs thread

You discovered a bug in the engine, and you are sure that it is not a problem of your code? Just post it in here. Please read the bug posting guidelines first.
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: The latest SVN bugs thread

Post by hendu »

That's wrong, the shift level is a completely different thing from the key state mask.
Foaly
Posts: 142
Joined: Tue Apr 15, 2014 8:45 am
Location: Germany

CMeshBuffer append does nothing

Post by Foaly »

Hello!

Maybe this is a bad question, but why does append in CMeshBuffer do nothing? Inside is just a comment.
I recently tried to create some auto batching for a project and had to find out (after trying a long time), that it can't work, because the mesh buffer simply ignores it.

Thanks in advance for an answer and maybe a fix?
christianclavet
Posts: 1638
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA
Contact:

Re: The latest SVN bugs thread

Post by christianclavet »

Hi, I wanted to rotate the view by changing the camera rotation instead of giving a target to look. (FPS type rig that is using a Character head bone as reference)

Code: Select all

Camera->bindTargetAndRotation(true)
Camera->setPosition(new_position);
Camera->setRotation(new_rotation);
This works, but if the camera is moving at the same time it's rotation there something that seem to happen to the view matrix and for some reason, on some rendered frames, it suddenly flips. And seem to produce some visual glitches.

Tried to use this:

Code: Select all

Camera->updateAbsoluteTransformations()
But it did not fix the issue.

If I'm not moving the camera, It don't appear that the view glitch happen at all. I remarked that it only happen when I move and rotate the camera.

To fix my issue, I decided to calculate a target from my rotation values and there is no glitches. So I think there could be some issues with the setRotation, that for some reason put the "target" near. When I defined my target I put it at least 100 unit far so it will not flip the view if it's moving.

I using the Irrlicht 1.9 SVN on Windows.
CuteAlien
Admin
Posts: 9628
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: The latest SVN bugs thread

Post by CuteAlien »

a) Try doing the update in between your 2 calls.
b) Could it be that your rotation at some point is identical to your up-vector (that's kinda like looking at your own eyes without a mirror - not healthy).
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: The latest SVN bugs thread

Post by Nadro »

Both mobile platforms iOS and Android use "gettimeofday" function inside ITimer class (eg. if Irrlicht's timer is uses for calculate a delta time it will produce bad results from time to time). This function isn't recommended mainly on mobiles platforms (frequent time synchronisation via network) where "clock_gettime" with "CLOCK_MONOTONIC" should be used.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
CuteAlien
Admin
Posts: 9628
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: The latest SVN bugs thread

Post by CuteAlien »

The numpad bug on X11 is fixed now (svn trunk r4926). Was a problem in the editbox (in 1.8 it might also had the wrong char-code additionally, so only fixed it in trunk).

edit: Fixed once more in r4943. Last fix had produced a new problem with the normal delete key (it's the only special-key in that 6'er block which actually returns a key-code - unlike the delete key on the numpad which doesn't. X11 has it's funny ways sometimes).
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
christianclavet
Posts: 1638
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA
Contact:

Re: The latest SVN bugs thread

Post by christianclavet »

Hi, Tested more Irrlicht on Ubuntu 64 this week. The window creation process still creates littles problems and I think it caused in part because Ubuntu Unity.
Here what I have:
  • On windows creation, I don't have the "close | Minimize | maximize" icons on the titlebar, look like the windows is in "docked" mode with Unity.
  • Now maximize work :D , but seem there is a little offset in the mouse position (If Maximized, I can have the windows icons again)
  • Found a simple trick to get back the icons in the window title, by stretching the windows to the bottom of the screen, when doing this, the window "magically undock" from unity, and get back the icons again. If your windows is not stretchable, it would not be possible to undock
So I think Ubuntu "unity" seem to affect the windows that we create with Irrlicht. Has this been reported elsewhere? For some reason, when we create the window, it seem Unity want it "docked".

Outside of this little problem, I wish to thank the Irrlicht developpers as I was really impressed with the way they implemented getting bone informations. I was thinking it would be kinda complicated to attach something to a bone in a character, but the way Irrlicht can do this is so easy! :D Just 1 C++ line and I get a node to parent! I found this really incredible and make me really happy because I will be able to integrate "attachment points" in my project really fast!

Also tested the UTF8 to WCHAR helper function and it work really well also on Ubutu :) , previously tested on Win7 and worked also flawlessly. I was not able to convert from text files encoded in UTF8, but all loading from XML (irrXML and TinyXML, worked perfectly), perhaps it's the way I open the text file on Linux. Another bonus from converting from UF8 to wchar_t is that when I was reading filenames, in UBUNTU the default character set is UTF8, and was able to retrieve files/folders that had accented characters.

EDIT(10/18/14): I Decided to bring screenshots so you can clearly see the problem I'm talking about on Linux:
Where what is happening when the application is launched, it is "docked" in the Unity titlebar, and I don't have access to the "close, minimize and maximize" buttons of the window. Strangely this does not happen all the time, I would say 1/3 times. When this happen I tried double-click on the titlebar, but does nothing.
Image

Found a trick is to scale the window (if your window can be scaled), to the bottom of the screen. The window then "undock" from the Unity Titlebar and can place it correctly, have also access to the "close, minimize and maximize" buttons again
Image
Last edited by christianclavet on Sat Oct 18, 2014 6:53 pm, edited 2 times in total.
christianclavet
Posts: 1638
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA
Contact:

Re: The latest SVN bugs thread

Post by christianclavet »

Hi, Found a problem with the

Code: Select all

 IFileList* CFileSystem::createFileList()
command in the CFileSystem.cpp. When asked for a list creation, it get all the files in lowercase as if the ignorecase flag was set to true.

The parameters will create a filelist force to ignore the case:
r = new CFileList(Path, true, false);
Here the creation of the filelist (CFileList.cpp):

Code: Select all

CFileList::CFileList(const io::path& path, bool ignoreCase, bool ignorePaths)
 : IgnorePaths(ignorePaths), IgnoreCase(ignoreCase), Path(path)
{
    #ifdef _DEBUG
    setDebugName("CFileList");
    #endif
 
    Path.replace('\\', '/');
}
The filenames are put in lowercase (you can check with the meshviewer, there is no uppercase character)
Here is the condition that make the character in lowercase (around line 80):

Code: Select all

if (IgnoreCase)
        entry.Name.make_lower();
Doing this case 2 main problems:
- All the entries will be in lowercase and display in lowercase in the Irrlicht file selector (or any other Irrlicht GUI)
- Would load on Windows, but since Linux need Uppercase character, it would fail loading files because some character would have been put in lowercase.

I would recommend changing the default behavior of the createFileList() command so it would not ignore the case, by changing the line in CFileSystem.cpp in line 841
from:

Code: Select all

r = new CFileList(Path, true, false);
to

Code: Select all

r = new CFileList(Path, false, false);
Created a patch here:
https://sourceforge.net/p/irrlicht/patches/294/
Also, can you fix the Irrlicht VC9 project file? I can't read it anymore and it seem corrupted.
CuteAlien
Admin
Posts: 9628
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: The latest SVN bugs thread

Post by CuteAlien »

Thanks. That problem has been reported already once (http://irrlicht.sourceforge.net/forum// ... hp?t=38080), but I never got long enough time to work on all the open bugs for the fileopendialog. Seems I've currently 13 open todo's just for fileopendialog, although most of them are only features wishes. Even started working on it some weeks ago on that other bug here: http://irrlicht.sourceforge.net/forum/v ... =7&t=48194. But turned out to be more complicated to solve than I thought at first view, so it only lead to me having a Irrlicht version now on my HD with all kind of changes where I hardly remember anymore what they were about *sigh*.

But I agree that this one is really important and I'll move it up on my todo-list. I still can't promise I get to it in the next weeks as I'm as usual struggling with time.

I'll take a look at the VC9 trouble on the weekend (can't check right now as working on Linux atm). At least that should be easy to fix.

Thanks for reporting.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
christianclavet
Posts: 1638
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA
Contact:

Re: The latest SVN bugs thread

Post by christianclavet »

Thanks. I've already patched my version, and the display is now correct and my file selector is loading correctly too on Windows. I could also check our linux version and report. EDIT: Ubuntu 64 work fine with the patch. A selected file is loading and displaying correctly.

This problem is partly related to the file selector but not because of it. The current problem is in the createFileList() command that is used in the file selector. This command is in the file selector but can be used outside of it to get a list of files on the system. Once you get the list, I don't see why it would be difficult to put the name in lowercase if needed.

The "ignore case" functionality could only be "perhaps" useful for example when a user TYPE the file manually:
Compare the string and the list of filenames (but put both results in lowercase) to do a comparison, then during the check it would take the item with the match, then call the file using the real filename in the list.

Since you are putting all the names in lowercase in this list, the last step cannot be done. The "ignore case" must be done outside the list, not inside the class.

Humm... I will have to recheck more my custom file selector after reading your link to the post, perhaps it suffer the same event problem, since it's based on the original file selector code. But don't remember seeing that. Thanks for the links!

Here how it look on IRB, notice that the filenames are preserved. (My variation of the file selector is working with a scalable window, it's not really that big! :wink: )
Image
Foaly
Posts: 142
Joined: Tue Apr 15, 2014 8:45 am
Location: Germany

Re: The latest SVN bugs thread

Post by Foaly »

Hello!
In the current trunk version (svn 4982), compiling with OpenGL and CG is not possible.
The compilation reports errors in COpenGLCgMaterialRenderer.cpp, because there, the type COpenGLMaterialRenderer is used, which was removed in rev 4979.

Thank you for fixing it soon!

Compiler output:

Code: Select all

COpenGLCgMaterialRenderer.cpp(52): error C2440: 'static_cast': 'irr::video::IMaterialRenderer *' kann nicht in 'irr::video::COpenGLMaterialRenderer *' konvertiert werden
          Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
COpenGLCgMaterialRenderer.cpp(56): error C2027: Verwendung des undefinierten Typs "irr::video::COpenGLMaterialRenderer"
          COpenGLCgMaterialRenderer.h(45): Siehe Deklaration von 'irr::video::COpenGLMaterialRenderer'
COpenGLCgMaterialRenderer.cpp(56): error C2227: Links von "->grab" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
COpenGLCgMaterialRenderer.cpp(65): error C2027: Verwendung des undefinierten Typs "irr::video::COpenGLMaterialRenderer"
          COpenGLCgMaterialRenderer.h(45): Siehe Deklaration von 'irr::video::COpenGLMaterialRenderer'
COpenGLCgMaterialRenderer.cpp(65): error C2227: Links von "->drop" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
COpenGLCgMaterialRenderer.cpp(86): error C2027: Verwendung des undefinierten Typs "irr::video::COpenGLMaterialRenderer"
          COpenGLCgMaterialRenderer.h(45): Siehe Deklaration von 'irr::video::COpenGLMaterialRenderer'
COpenGLCgMaterialRenderer.cpp(86): error C2227: Links von "->isTransparent" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
COpenGLCgMaterialRenderer.cpp(120): error C2027: Verwendung des undefinierten Typs "irr::video::COpenGLMaterialRenderer"
          COpenGLCgMaterialRenderer.h(45): Siehe Deklaration von 'irr::video::COpenGLMaterialRenderer'
COpenGLCgMaterialRenderer.cpp(120): error C2227: Links von "->OnSetBaseMaterial" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
COpenGLCgMaterialRenderer.cpp(157): error C2027: Verwendung des undefinierten Typs "irr::video::COpenGLMaterialRenderer"
          COpenGLCgMaterialRenderer.h(45): Siehe Deklaration von 'irr::video::COpenGLMaterialRenderer'
COpenGLCgMaterialRenderer.cpp(157): error C2227: Links von "->OnUnsetBaseMaterial" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
 
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: The latest SVN bugs thread

Post by Nadro »

Thanks for the report, I'll fix that, but imho in close future we should drop Cg support (NVIDIA marked Cg Toolkit as deprecated solution and no longer support it). Maybe not in v1.9, but definitly in v2.0.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
stefany
Posts: 58
Joined: Wed Dec 07, 2011 10:50 am

Re: The latest SVN bugs thread

Post by stefany »

Code: Select all

 
URL: svn://svn.code.sf.net/p/irrlicht/code/trunk
Relative URL: ^/trunk
Repository Root: svn://svn.code.sf.net/p/irrlicht/code
Repository UUID: dfc29bdd-3216-0410-991c-e03cc46cb475
Revision: 4988
Node Kind: directory
Schedule: normal
Last Changed Author: nadro
Last Changed Rev: 4988
Last Changed Date: 2014-11-17 11:12:01 -0300 (lun, 17 nov 2014)
 
BUG VIDEO: http://youtu.be/I-zJ3hUsF54
CuteAlien
Admin
Posts: 9628
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: The latest SVN bugs thread

Post by CuteAlien »

Thanks. For a short explanation what the video is about - all textures in the demo look like they have a reflection material now.
The bug started in r4986 (Fixed issue related to crash at draw2DImage methods).
Thought for now I'd recommend going back to r4983 if you work with trunk as there is likely another problem in r4984 (still investigating, but a test crashs there currently).
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Nadro
Posts: 1648
Joined: Sun Feb 19, 2006 9:08 am
Location: Warsaw, Poland

Re: The latest SVN bugs thread

Post by Nadro »

Thanks, I already found a bug in r4986. I'll send fix today or tomorrow.

UPDATE:
Fix is available on SVN. In upcoming days I'll fix issue related to r4984.

UPDATE2:
The latest trunk should work fine.
Library helping with network requests, tasks management, logger etc in desktop and mobile apps: https://github.com/GrupaPracuj/hermes
Post Reply