Remember me

Lost Password?

Register now!


Who's Online
118 user(s) are online (97 user(s) are browsing Forums)

Members: 1
Guests: 117

mufa, more...

Support us!


Report message:*

Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress

Subject: Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
by Hans on 2019/3/28 13:25:54


Yeah, checked what you send me, and i for sure first time see any debug versions of nova. Is it can be controlled somehow via ENVS to what print ? Because it print soo much that it slow things down veeeeery.

Sorry, but no. There's no way to control how much debug output is printed. The debug output was never meant for application debugging, which is why it doesn't print the function parameters, either.

I always intended for Warp3D Nova to have debugging tools like apitrace I mentioned earlier.**

And there i catch the log from debug version of NOVA, till the moment when those faces start to render wrong (i.e once faces start change and make a wrong look, i just halt output and save it to file):

I've spotted something strange in the log: Textures are being created continuously in between the draw calls. If the game is drawing just a six sided skybox, then it should load the textures once, and just bind them repeatedly. Your log shows 76 textures being created in between 109 draw calls (i.e., while it's rendering the game world). Plus, none of the created textures are destroyed. Clearly that's not right.

EDIT: And, the last part of the log shows a new texture being created for every draw call, so a 1:1 ratio. That definitely doesn't make any sense.

I also notice in your video that one of the sides changes to almost black instead of transparent. So, the quad is being rendered, but the texture has been replaced. The fragment shader calls "discard" for texels with alpha <= _gl4es_AlphaRef. So, if a texture were replaced with a transparent one, then you could get missing faces just like you showed in the original video.

Looks like we've been searching for the bug in the wrong place. Something's going wrong with the textures. Why are new textures being created continually? It could be legitimate if Lugaru loaded textures in the background, but I'd expect them all to have been loaded before it starts rendering the game world. Next question: how could some of the skybox textures get wiped? And why would changing the vertex coordinates have any impact on that?


** Yes, I'm repeating myself here because it really would be great if someone could look at apitrace and bring it to AmigaOS. Having a tool like that really would help debugging OpenGL (and Warp3D Nova, if it were added to the list of APIs that it can log).

Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project