OpenGL ES 1.x render system "OpenGL ES 1.x emulator" support

Discussion area about developing or extending OGRE, adding plugins for it or building applications on it. No newbie questions please, use the Help forum for that.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: OpenGL ES 1.x render system win32 support

Post by Assaf Raman »

Great!
Thanks for your help.
I am sorry I didn't post the dependencies in the first place. I just didn't imagine that official "PowerVR SDK" will ever be broken (missing file).
I don't think I am breaking any law by posting the files, but if I do – post here or contact me in any other way and I will remove the files.
Watch out for my OGRE related tweets here.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Symbian

Post by Assaf Raman »

An update - I got most of OGRE main to compile on Symbian, now I need the dependencies to compile (freetype, zzip and FreeImage).
All the rest of the code seems to compile.
Here is a backup of my work until now.
I will commit as soon as I have something running on the emulator.
Watch out for my OGRE related tweets here.
davidcb
Gnoblar
Posts: 21
Joined: Wed Sep 17, 2008 1:47 pm

Re: OpenGL ES 1.x render system win32 support

Post by davidcb »

Hello,
I am trying to get this working under Linux. What is the proper way to do this after your split? Do I keep the files in the EGL directories and add the files in the GTK directories?

Thanks,
David.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: OpenGL ES 1.x render system win32 support

Post by Assaf Raman »

Yes.
Watch out for my OGRE related tweets here.
davidcb
Gnoblar
Posts: 21
Joined: Wed Sep 17, 2008 1:47 pm

Re: OpenGL ES 1.x render system win32 support

Post by davidcb »

Ok, just to keep you informed.....

I got it to build but am having some segfaults when running. I am tracking them down.

I am testing this on a Linux desktop with the PowerVR SDK.

David.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: OpenGL ES 1.x render system win32 support

Post by Assaf Raman »

Sounds good. I will be happy if you can give back a patch when you get it to work.
Watch out for my OGRE related tweets here.
davidcb
Gnoblar
Posts: 21
Joined: Wed Sep 17, 2008 1:47 pm

Re: OpenGL ES 1.x render system win32 support

Post by davidcb »

I think I am not going to work on this for now. I want to take some time to see if I can make an OGL ES 2.0 plugin. I don't know if anyone is working on that. I think ES 2.0 would be more useful for what I want to do.

I can send patches for what I had to do to get it to compile. Basically I just did some simple casts in OgreGtkEGLSupport.cpp and OgreGtkEGLWindow.cpp so there is probably a better way to do it anyway.

If I fail to get an ES 2.0 plug in to work then I might come back to this.

Feel free to let me know if you do any work that you want me to test on Linux.

David.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: OpenGL ES 1.x render system win32 support

Post by Assaf Raman »

You do know that ES 2.0 doesn't have a fixed pipeline - right?
Watch out for my OGRE related tweets here.
davidcb
Gnoblar
Posts: 21
Joined: Wed Sep 17, 2008 1:47 pm

Re: OpenGL ES 1.x render system win32 support

Post by davidcb »

Well, yes, the programmable pipeline is one of the things I am interested in.

Are you asking because that will make it more difficult to write a plug in for? To be honest, I have no idea if I can even do it. I just want to try.

Eventually my app will (hopefully, hehe) run on a Beagleboard which has a TI OMAP3 processor. That processor has a PowerVR 3D co-processor.

One thing I will try to find out first is if there is even any other advantage to using 2.0 vs 1.1 on a 2.0 core.

Thanks.
David
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: OpenGL ES 1.x render system win32 support

Post by Assaf Raman »

Well – the way to deal with this issue is to write a fixed func shader emulation.
I have created a basic one for the D3D10 render system (for hlsl4).
I guess one for glsl or whatever shader language ES 2.0 is using – will make it easier to have all of the OGRE demos running.

You don't really need it for a render system – the big downside if you won't is that you will have to write lots of shaders. But - that is not such a big downside...
Watch out for my OGRE related tweets here.
davidcb
Gnoblar
Posts: 21
Joined: Wed Sep 17, 2008 1:47 pm

Re: OpenGL ES 1.x render system win32 support

Post by davidcb »

Yeah, that makes sense to me. Pretty much what I was thinking in my planning stage here. Have a shader program to simulate a fixed function pipeline in case no shader program is given. The PowerVR ES2.0 SDK has a directory of example shaders. I have not looked at it yet.

David.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: OpenGL ES 1.x render system win32 support

Post by Assaf Raman »

BTW: Possibly this code can be a base for cg support on ARM devices. I didn't find the time yet to try to use it.
Watch out for my OGRE related tweets here.
User avatar
SiENcE
Goblin
Posts: 231
Joined: Thu May 11, 2006 3:07 pm
Location: Berlin
Contact:

Re: OpenGL ES 1.x render system win32 support

Post by SiENcE »

Amd/Ati has also an working OpenGl ES Emulator.

http://developer.amd.com/gpu/opengl/Pages/default.aspx
davidcb
Gnoblar
Posts: 21
Joined: Wed Sep 17, 2008 1:47 pm

Re: OpenGL ES 1.x render system win32 support

Post by davidcb »

SIENcE:
I saw that one but it is only available for Windows. I am trying to get something working under Linux.

Assaf Raman:
I am taking another look at this mainly because I want to get something going first then try to figure out how to write the shaders.

I have a couple different ways in mind to fix this for Linux but they all involve editing the files in the main EGL directory which I assume you are using. I want to make sure that anything I change will be easy for you to incorporate if you decide to do so.

What I was thinking is if you have this successfully running, if it would not be too much trouble, could you zip up the contents of your RenderSystems\GLES directory after the build and e-mail it to me? This way I can see what direction you are heading in and try to make my changes in line with yours.

David.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: OpenGL ES 1.x render system win32 support

Post by Assaf Raman »

My RenderSystems\GLES is committed to the SVN trunk - you can get it from there. My local code is the same as the code in the trunk.
I guess I don't understand what you ask for.
Watch out for my OGRE related tweets here.
davidcb
Gnoblar
Posts: 21
Joined: Wed Sep 17, 2008 1:47 pm

Re: OpenGL ES 1.x render system win32 support

Post by davidcb »

You do understand. I just thought there was more to it. Now I think I know what I will do.

Also, I tried the older check out, the one they had running on the Beagle Board, and that seg faults on my machine also. So I need to get my machine straightened out first.

David.
davidcb
Gnoblar
Posts: 21
Joined: Wed Sep 17, 2008 1:47 pm

Re: OpenGL ES 1.x render system win32 support

Post by davidcb »

I have been trying to get an older revision of Ogre running on my machine because I was having some trouble and wanted to go back to what worked.

Well after a week of messing with it and seeing things that just didn't make sense to me I decided to try an older version of the PowerVR emulator. That seems to have cured it. Even their own demos run better now on this older version. Grrrrrrr.

So next I will compile the newest OGRE svn with GL ES under Linux. I have already made the necessary changes but I am calling it an early night.

I have a dual boot system so I will be able to test on Windows also.

David.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: OpenGL ES 1.x render system win32 support

Post by Assaf Raman »

As you can see from this thread - the new PowerVR emulator for windows doesn't work also.
download the old one if needed from this thread.
What is going on with PowerVR? :?
Watch out for my OGRE related tweets here.
davidcb
Gnoblar
Posts: 21
Joined: Wed Sep 17, 2008 1:47 pm

Re: OpenGL ES 1.x render system win32 support

Post by davidcb »

I am almost done. I have written CMakes file also. For CMake to find the OpenGL ES libraries and headers I have to tell it where to look. From your Visual Studio project file it looks to me like you may have put them in the Dependencies directory under include and lib directories. Is that correct? Should I leave it at that for now?

Thanks.
David.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: OpenGL ES 1.x render system win32 support

Post by Assaf Raman »

where do you think is the best place to put them?
Watch out for my OGRE related tweets here.
davidcb
Gnoblar
Posts: 21
Joined: Wed Sep 17, 2008 1:47 pm

Re: OpenGL ES 1.x render system win32 support

Post by davidcb »

I think that's the problem. I think whatever SDK is installed will put them where it wants. The dll files could go in system32. I think for the .lib and header files, just pick a directory and tell people that they have to put the files there. Inside the Depencies folder would be fine. To make it automatic we would have to make conditions for whatever SDKs might be out there. Maybe we should keep the dll files with the lib files in a lib directory under ogre\Dependencies?

David.
CABAListic
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 2903
Joined: Thu Jan 18, 2007 2:48 pm
x 58
Contact:

Re: OpenGL ES 1.x render system win32 support

Post by CABAListic »

You don't need to hardcode it - that's precisely what CMake is supposed to solve. Just model a find script from the existing ones and have it look in some default, guessed folders (the Dependencies folder will automatically be searched). Additionally, have it try a location given by an environment variable, like GLES_HOME or whatever you want to name it. That way, if CMake can't find the directory automatically, the user can always set that environment variable to the correct spot.

If you don't feel comfortable writing CMake find scripts, I guess I could do it. You'd just have to tell me what I need to do to set myself up for compiling the GLES rendersystem on Linux and/or Windows :)
davidcb
Gnoblar
Posts: 21
Joined: Wed Sep 17, 2008 1:47 pm

Re: OpenGL ES 1.x render system win32 support

Post by davidcb »

I'll write the script and if you don't like the Windows part just change it. I guess that would be easiest. I just wanted to increase my chances of you liking the script.

There are still some slight problems. On both windows and linux the BSP demo exits with an Ogre exception that OpenGL ES does not allow 32 bit index buffers.

On Windows, compositor, GUI, RenderToTexture, Shandows, and SkeletalAnimation all exit wil EGLWindow::swapBuffers failed. I know the other demos are using that function, not sure why it only fails on those five.

I am cleaning everything up now.

David.
warmi
Gnoll
Posts: 674
Joined: Sun May 27, 2007 3:56 am
Location: USA

Re: OpenGL ES 1.x render system win32 support

Post by warmi »

PoverVR SDK has been updated just recently ... one of the things they fixed was a missing include file on Windows ( which was kind of a deal breaker - nothing would compile)
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: OpenGL ES 1.x render system win32 support

Post by Assaf Raman »

Thanks for the info.
Watch out for my OGRE related tweets here.
Post Reply