Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
93 user(s) are online (87 user(s) are browsing Forums)

Members: 2
Guests: 91

328gts, LiveForIt, more...

Support us!

Headlines

 
  Register To Post  

« 1 ... 21 22 23 (24) 25 26 27 ... 43 »
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

Thank you

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Daniel, Hans
I do test Huno's RTCW Reborn, and probabaly found the same issue as with Lugaru.

Check this video:

https://www.youtube.com/watch?v=LLSHeoaSF50

Check from 0:50 , there i went to the roof and look at the sky. You can see that sometime, the effect which looks about the same as in Lugaru arise : same bounds of textures, sometime even empty ones..

What is interesting, in both cases and in Lugaru and in RCTW its "sky".

There is also another bug:

Starting from 0:05, on the floor can be visibly some white dot's lines (probabaly finals/starts of some textures closed together)

Same effect on the wall on 0:20, then on 0:35, then on 0:42.


Edited by kas1e on 2019/3/23 20:52:59
Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

Quote:
I do test Huno's RTCW Reborn, and probabaly found the same issue as with Lugaru.

Check this video:

https://www.youtube.com/watch?v=LLSHeoaSF50

Check from 0:50 , there i went to the roof and look at the sky. You can see that sometime, the effect which looks about the same as in Lugaru arise : same bounds of textures, sometime even empty ones..

Hmmm. Not sure that's the same. In Lugaru the faces on two sides are always missing, whereas in RCTW it looks more like a face culling algorithm is getting it wrong.

Quote:
Starting from 0:05, on the floor can be visibly some white dot's lines (probabaly finals/starts of some textures closed together)

Same effect on the wall on 0:20, then on 0:35, then on 0:42.

Does it look the same as the lines we used to see in Quake 3? Any chance you can isolate the shader that's responsible?

Hans

Join Kea Campus' Amiga Corner and support Amiga content creation
https://keasigmadelta.com/ - see more of my work
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Hans
Quote:

Does it look the same as the lines we used to see in Quake 3?

If you mean
http://www.amiga.org/developer/bugreports/view.php?id=331

Then yes, looks kind of the same. At least size of line for sure the same, but in q3 it was about lighting beems only, but there is on floor and on walls and dunno if light is guilty there (but can be of course).

Quote:

Any chance you can isolate the shader that's responsible


Oh.. Not sure how to do it. Gl4es for sure generate lots there, and how to know which one is related, and is it vertex or fragment one which is guilty, and if it shaders at all.

For me most important to deal with Lugaru issue and that long-waiting bug about sampler-function-parametr, which is critical, as while ptitseb is still help , he start to loose interest to help to port one big title as without fixing that bug we cant continue :( is that one hard to fix in compare with others ?

ps. Btw, was you able to fix optimisation errors when compile endian conversion code ? As if it forgotten i can create a bugreport for

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

The quake-3 seams were caused by the fragment shader. The GPU has this thing called "whole quad mode" that needs to be disabled at certain points for texture-mapping to work correctly.

Quote:
For me most important to deal with Lugaru issue and that long-waiting bug about sampler-function-parametr, which is critical, as while ptitseb is still help , he start to loose interest to help to port one big title as without fixing that bug we cant continue :( is that one hard to fix in compare with others ?

I tried to fix that one yesterday, but it's going to take me a bit more time.

Quote:
ps. Btw, was you able to fix optimisation errors when compile endian conversion code ? As if it forgotten i can create a bugreport for


Yes, it'll be in the next version. I haven't tested the performance change, though, so I'll be interested to hear what impact it has.

Hans


Edited by Hans on 2019/3/24 10:21:58
Join Kea Campus' Amiga Corner and support Amiga content creation
https://keasigmadelta.com/ - see more of my work
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Not too shy to talk
Not too shy to talk


See User information
@Hans
Quote:
Hmmm. Not sure that's the same. In Lugaru the faces on two sides are always missing, whereas in RCTW it looks more like a face culling algorithm is getting it wrong.

At some parts yes, but on others you clearly see how the wrong texture is applied, or maybe the correct texture but falsely applied, or maybe one of the other quads is falsely positioned. It's really not that far away from the Lugaru symptoms at all, may well be (likely IMHO) the same issue or the same combination of issues.

Quote:
Yes, it'll be in the next version. I haven't tested the performance change, though, so I'll be interested to hear what impact it has.

Please make sure to send me that version asap. Because I finally want to get rid of those workarounds in ogles2 asap - but only if performance is actually better

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Hans

wrt to that "seam" visible, i hvae something similar.

Did you ever seens something like this?
What could it be affected by?
Resized Image
Full picture is here

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Quite a regular
Quite a regular


See User information
@Raziel
That looks like a texture clamping issue.

This is just like television, only you can see much further.
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Hans,Daniel
That issue with Lugaru and RTCW for sure can't be issue with wrong datafiles, as its the same datafiles which used on other platforms, and what more important, if i build minigl version of Lugaru which use exactly the same datafiles, everything fine.

What is intersting to understand, is that its some general code issue anywhere, or it is some shader fails to work as expected..

Probably better (and more easy) will be to fix Lugaru's one, and then check if it will automatically fix RCTW , because RCTW is for sure harder to debug.

Also that what ptitseb says about when watch RCTW video :

Quote:

Mmm, difficult to say if it can be the same issue. The effect is different, as the surface is always drawn, but sometime without a texture applied (or the wrong one). I don't think the quad is falsely applied here, because all faces seems to be rendered all the time. Seems it's only happening on the "sky cube map", so "distant" polygons.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@BSzili

Thank you,

@Hans
@Daniel

Is this a bug and can it be fixed?

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Raziel
If it minigl, then its better go to minigl thread to avoid another sub-thread there (which will make harder to concetrate on gl4es and co).

Also if it minigl working over Warp3D SI , probabaly worth to try the same app on the same place over minigl over warp3D working on radeon9250 or so, to see if there is issue still. And if yes, then its minigl. If no issue on radeon9250, then can be SI driver related probabaly

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

Will do, testing on another gfx card is not possible for me though

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

Quote:
That issue with Lugaru and RTCW for sure can't be issue with wrong datafiles, as its the same datafiles which used on other platforms, and what more important, if i build minigl version of Lugaru which use exactly the same datafiles, everything fine.

Yes, you said that earlier.

Quote:
What is intersting to understand, is that its some general code issue anywhere, or it is some shader fails to work as expected..

Probably better (and more easy) will be to fix Lugaru's one, and then check if it will automatically fix RCTW , because RCTW is for sure harder to debug.

Could you disable all rendering except for the skybox? Then maybe you can log the GL calls used to render just that item.

Also, have you isolated the shader that's used for the skybox? I'm doubtful that it's a shader issue. The skybox's shaders should be pretty simple.

Hans

Join Kea Campus' Amiga Corner and support Amiga content creation
https://keasigmadelta.com/ - see more of my work
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Hans
Quote:

Could you disable all rendering except for the skybox? Then maybe you can log the GL calls used to render just that item.


Will try

Quote:

Also, have you isolated the shader that's used for the skybox? I'm doubtful that it's a shader issue. The skybox's shaders should be pretty simple.


ptiSeb also says it probabaly not shader, but some precision (loss) somewhere (because depending on the angle, the far edget of the poligon is "too far"), or the order of the draw command that makes a difference.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Hans
@Daniel

reviving my sub thread from here (shader compiler error)

I tried the workaround with setting a version tag and this is what i get:
Quote:

In GLSL, the version tag is not mandatory, with #version 110 being the default.
So at the very least the OpenGL driver maintainers on AmigaOS4 should be notified their implementation is not compliant with regard to this issue.

We could explicitly set the version on all platforms (for OpenGL ES2 the default is #version 100, 110 is invalid). However, a variable named g_precisionDefines is maybe not the best place to do so...

And here's the bug item

Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Not too shy to talk
Not too shy to talk


See User information
Our ogles2.library contains a patcher for GLSL when the code doesn't contain a version tag. The internal (reference) GLSL-to-SPIR compiler would not compile texture2D and some other stuff in such a case.

It is true that the standard says that if you leave out #version then it defaults to 1.10.
However it is also true that the standard says: "... then it assumes 1.10, which is almost certainly not what you want."
It is also true that the lack of a version tag is most often not because the coder wanted it, but simply because the coder forgot to put it there.

That's why if the version-tag is missing, the library patches some typical function names. It's just a simple string replacer and the compiler is obviously not smart enough to cope with a variable that's named like a function ("texture" in your case).

Three solutions:

1. fix your GLSL code by providing an explicit version-tag as I told you in the other thread.

2. disable ogles2's internal GLSL patcher by providing OGLES2_CCT_SHADER_COMPAT_PATCH, FALSE when creating your context.

3. wait for opengles2.library 2.3 , because for that one I just modified the patcher's behaviour: if the patched result fails to compile, then it will silently try again using the unpatched variant.


Edited by Daytona675x on 2019/3/25 15:18:28
Edited by Daytona675x on 2019/3/25 15:19:03
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Daniel,Hans
I take the older Lugaru's sources (they a little bit smaller, while still have the same issue with gl4es while no issue with minigl), and strip it down heavy : i remove all the terrains, lighting, skeleton, person, objects, models, even sound, everything to make it smaller. In end i just have now when i run game : choice "start game", choise "tutorial", and then, just a pure sky rendering, and via mouse you can move camera , nothing else. Code compiles of course and for minigl (no bug) and for gl4es (bug there).

There is video:

https://youtu.be/5Obdrbi0KUY

First part till 0:30 are minigl binary

Second part from 0:30 are gl4es binary

So it mostly now GLDrawScene() (have lot of glcalls too) + a bit of game logic without gl calls + skybox's glcall.

I can try to reduce it even more of course.. But maybe that can be enough for us for some remote tests

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@kas1e

So it's actually three of the 6 skybox faces that are missing. Interesting...

Any chance you can get us the vertex shader code?

EDIT: Just looked at the Lugaru skybox code again, and I still don't see how a shader calculation bug could cause that. Each of the missing quads shares vertex coordiates with two of the visible quads.

Hans

Join Kea Campus' Amiga Corner and support Amiga content creation
https://keasigmadelta.com/ - see more of my work
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@Hans
Yeah, will dump all shaders too, just tring to reduce it even more.

Also glcalls related to the skybox can be also not only in skybox.cpp, i mean, in the GLSceneDraw(), skybox.draw called just one time, but before and after there lots of other glcalls , i.e.:

static XYZ terrainlight;
        static 
float distance;
        if(
drawmode==normalmode)ReSizeGLScene(90,.1f);
        if(
drawmode!=normalmode)glViewport(0,0,texviewwidth,texviewheight);    
        
glDepthFunc(GL_LEQUAL);
        
glDepthMask(1);
        
glAlphaFunc(GL_GREATER0.0001f);
        
glEnable(GL_ALPHA_TEST);
        
glClearColor(0.25f0.25f0.25f1.0f);
        
glClear(GL_DEPTH_BUFFER_BIT);

        
glMatrixMode (GL_MODELVIEW);
        
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
        
glLoadIdentity ();
        if(!
cameramode&&!freeze&&!winfreeze){
            
glRotatef(float(Random()%100)/10*camerashake/*+(woozy*woozy)/10*/,0,0,1);
            
glRotatef(rotation2+sin(woozy/2)*(player[0].damage/player[0].damagetolerance)*5,1,0,0);
            
glRotatef(rotation+sin(woozy)*(player[0].damage/player[0].damagetolerance)*5,0,1,0);
        }
        if(
cameramode||freeze||winfreeze){
            
glRotatef(rotation2,1,0,0);
            
glRotatef(rotation,0,1,0);
        }

        if(
environment==desertenvironment){
            
glRotatef((float)(abs(Random()%100))/3000-1,1,0,0);
            
glRotatef((float)(abs(Random()%100))/3000-1,0,1,0);
        }
        
glPushMatrix();
        if(
environment==desertenvironment&&detail==2)glTexEnvfGL_TEXTURE_FILTER_CONTROL_EXTGL_TEXTURE_LOD_BIAS_EXTblurness+.4 );
        if(
environment==desertenvironment){
            
glRotatef((float)(abs(Random()%100))/1000,1,0,0);
            
glRotatef((float)(abs(Random()%100))/1000,0,1,0);
        }    
        
skybox.draw();
        
glTexEnvfGL_TEXTURE_FILTER_CONTROL_EXTGL_TEXTURE_LOD_BIAS_EXT0);
        
glPopMatrix();
        
glTranslatef(-viewer.x,-viewer.y,-viewer.z);

        
        
//there there going "Text" based parts



Will try to reduce it even more now, and dump all the shaders. (today ptitSeb add another ENV variable to gl4es, which make it easy to dump shaders, without needs to hack the code all the time with prinfs).


EDIT: and what is interesting, if checking carefull gl4es version video, then you can see that when we only run, some faces have copy of the previous screen (the same, as we have in RCTW Reboorn as well). I.e. chances are high that it the same issue.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: GL4ES: another OpenGL over OpenGLES2 emulation - some tech. info and porting progress
Home away from home
Home away from home


See User information
@all

(Cursor == Pointer)

Ok, this is a ogles2 only problem

ScummVM compiled and started with ogles2.

Two problems:

1) Starting in window mode makes mouse cursor break (starting in fullscreen does not break the mouse, but ... see below)
Resized Image
2) Starting a game that opens it's own UI box, before going into the game itself, makes the background go nuts (not erased, should be black normally), instead it takes something from an earlier adress (it seems/i think/i believe)
Resized Image
2.1) If i click cancel in that box to return to the launcher/list screen, the mouse is now broken as well.
(see 1)

Switching to fullscreen or back to window will "fix" the cursor.
I think i know why the cursor in fullscreen is initially fine.
It's because even if i start in fullscreen a window (filled black) is drawn first before it opens the screen.
This window to fullscreen switch is sufficient to "fix" the cursor in initial fullscreen

Go to top

  Register To Post
« 1 ... 21 22 23 (24) 25 26 27 ... 43 »

 




Currently Active Users Viewing This Thread: 6 ( 0 members and 6 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project