glshim


My nexuiz build is mostly vanilla.


But you probably need my fork to make it run without changes in the code.
 
Last edited by a moderator:
My nexuiz build is mostly vanilla.


But you probably need my fork to make it run without changes in the code.
That's what I'm using right now (git clone https://github.com/ptitSeb/glshim;cmake .; make).
Hmmmm, I pushed some changes, so maybe "git pull" and "make" again, so you'll have the same version as me.

For darkplaces, I use official SVN repo.


Here is my current diff:darkplaces.tar.gz


After a "make sdl-nexuiz" you have a runing nexuiz... The tuto in the 2.5 single player level run fine in low detail, but first combat after that is not smooth enough... But I have everything runing fine visualy..

preview1.png

preview2.png
 

Attachments

  • darkplaces.tar.gz
    2.2 KB · Views: 137
Last edited by a moderator:
Both of our versions have glTexSubImage1D, so something else is going on.

ptitSeb said:
But you probably need my fork to make it run without changes in the code.
I've caught up on most of your stuff, and upstream has several things you don't.
mcobit said:
I think not everything is handled properly by glshim right now.
You'd be surprised how much I cover: https://docs.google.com/spreadsheets/d/1-kNLvmh08Vg_k6sbjMhw20YOY7gBHndSgLVE0KTjU2k/edit#gid=0
Wasn't the goal of the wrapper to avoid modifications where possible? I bet ptitSeb would create a stub 1D function calling 1F (and fix the issue for all the games out there) instead of fiddling with nexiz sources, if the fix was that easy.
That's already been done. The problem is somewhere else.
 
Last edited by a moderator:
Thanks for the info. I will check this out next time I have nothing to do, but given ptitSeb's warning about poor performance the priority of this investigation for me is rather low.

I will include a script which checks out and builds the latest glshim libs in the next release of my cdevtools package.
 
Both of our versions have glTexSubImage1D, so something else is going on.

ptitSeb said:
But you probably need my fork to make it run without changes in the code.
I've caught up on most of your stuff, and upstream has several things you don't.
That's true, but I still hadn't work on the "big merge" :( . The simple list alone is much nicer!

I think you still miss glCompressedTex* FBO and VBO. Not completly sure but I think some of thoses are needed (but I have not checked, at least VBO are optional in the GUI).
 
Last edited by a moderator:
simplelist is super old, at this point we should pick individual features I don't have and add them to mainline :) you're like 250 commits behind now.
 
Last edited by a moderator:
I'm trying to put together the libraries required to run Shattered Pixel Dungeon.

Right now I'm stuck at a point where I miss glXCreatePixmap function. Am I right to suppose that pandora's X server doesn't support GLX anyway?
This one is quite difficult to emulate. You should try to fake it, or remove the call in the sources.

Most of the time, the function is checked but not used. And when it's used, it's a "fallback" strategy when FBO are not available...

And to answer your question, Pandora doesn't support GLX. But some GLX call are emulated as part of glshim.
 
And when you try the Java Version of ShatteredDungeons with Ptisebs Minecraft PND?


Ptitseb did many Things with GL and ShatteredDungeons have a "Multiplatform" Java Version to download :)


Maybe i will try it this Evening ;)
 
I have downloaded both minecraft and codeblocks for spare libs (codeblocks was a bit painful to get with PNDManager), so yes, I've tried some of Ptitseb's libs. Good luck if you want to try for yourself!

This one is quite difficult to emulate. You should try to fake it, or remove the call in the sources.

Most of the time, the function is checked but not used. And when it's used, it's a "fallback" strategy when FBO are not available...

And to answer your question, Pandora doesn't support GLX. But some GLX call are emulated as part of glshim.
I will try to add stubs to glshim then.
 
I have downloaded both minecraft and codeblocks for spare libs (codeblocks was a bit painful to get with PNDManager), so yes, I've tried some of Ptitseb's libs. Good luck if you want to try for yourself!
Is that a contest? The first to succeed wins ? ;)

This one is quite difficult to emulate. You should try to fake it, or remove the call in the sources.


Most of the time, the function is checked but not used. And when it's used, it's a "fallback" strategy when FBO are not available...


And to answer your question, Pandora doesn't support GLX. But some GLX call are emulated as part of glshim.
I will try to add stubs to glshim then.
Is it based on lwjgl (I will push a beta of Revenge of the Titans soon, that is based on it, like Minecraft) or something else?
 
libgdx builds from sources without apparent issues, however, latests versions require OpenGL 2.0 to run.

I'm currently playing with version 0.9.
 
Hi,

I'm new to the boards. I don't develop for the Pandora, but came here just because of your glshim library. Thanks a lot, lunixbochs for developing and MIT-licensing this. I was looking for some way of emulating OpenGL 1.x on top of OpenGL ES (for doing some ports of very old ogl 1.x apps to iOS and Android devices). I first found Regal, and became very excited about it, but I found it too complex to understand, and even to guess what's implemented and what's not.

Then I found glshim, and I believe it's closer to what I'm looking for (I also believe glshim's OpenGL 1.x support is more complete than Regal's, please correct me if I'm wrong).

I've some (hopefully) quick questions:

1- There're several branches. I downloaded the "master" branch. Is it the best one for my purposes, or should I look at any other?

2- What's the status of the basic functionality of glReadPixels/glDrawPixels/glCopyPixels for simple GL_RGB or GL_RGBA images? (I know GLES has limitations accessing the depth buffer, but do these functions run fine for RGB/RGBA?

3- Is there some support for offscreen rendering (such as the old pbuffers or the newer FBOs) ?  (btw, a full implementation of OpenGL FBOs would be an overwhelming task of several man-years of coding, but a working subset of it would be very handy for me... just the minimum for rendering into a texture or into some offscreen buffer).

4- Do you've any plans for writing an OpenGL ES 2.x backend? (just asking because I guess there will be a day when Android and iOS drop GLES 1.x  ...well, GLES 2.x would open doors to more "advanced" features like cube mapping and shadow mapping, but I'm not on a hurry for that)

This is a very exciting and useful project. I hope you continue enhancing it. If I find any bugs or I write any enhancements, I'll report back.

Thanks a lot!!
 
Last edited by a moderator:
Hi @ces

Here are some answers, but @lunixbochs may add some complements.

1. I let @lunixbochs answer here

2. The conversion between format GL_RGBA, GL_BGR, GL_UNSIGNED_BYTE, GL_FLOAT, whatever is handled perfectly. All the conversions, when needed, are handled by swizzle_texture function. The basic glReadPixels, glDrawPixels are handled. glCopyPixels, I don't think it's handled. But it's not a very usefull function without FBO.

3. I don't think there is FBO support in the master branch. I have implemented FBO in my fork, but using the GLES_CM FBO  extension.

4. There is basic support of GLES2.x (to be activated at compile time), but no Fixed pipeline emulation, and no GLSL conversion/filtering, so only usable in some very specific use case..
 
  • Like
Reactions: ces
Can we get this into the official OS release at some point, and if so, can we determine which of all the branches/forks is the best for the job yet?
 
Back
Top