Support for Open GL Es 1.x or 2.x on Windows/CE or mobile

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
menuthaur
Posts: 9
Joined: Mon Feb 07, 2011 12:15 pm
Location: Germany

Support for Open GL Es 1.x or 2.x on Windows/CE or mobile

Post by menuthaur »

Hello everybody,

can somebody tell me if irrlicht is going to support
OpenGL ES 1.x/2.x on Windows/mobile/CE ?

I'm interrested to use irrlicht with vincent 3d.


Greetings,
menuthaur
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

This should be already supported by our ogl-es drivers. These are currently only available in a separate SVN repository, but already quite complete and usable. You'd have to set up the compilation for your support library and maybe adapt the wince driver to support OpenGL-ES driver creation. If you find a working setup please post it here, so we can add that code to the engine as well.
menuthaur
Posts: 9
Joined: Mon Feb 07, 2011 12:15 pm
Location: Germany

Post by menuthaur »

Thanks, i'll look for it.

Another question: It is planned to support DirectX mobile for
Windows CE or Pocket PC ?
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

No, I don't think so. Unless there's only minor changes necessary to the existing drivers, or someone else provides a working solution, this platform is largely at its end. New windows mobile systems only allow for C# and XNA, so no fun for us either. Better look out for iOS and Android.
menuthaur
Posts: 9
Joined: Mon Feb 07, 2011 12:15 pm
Location: Germany

Post by menuthaur »

Hello,

thanks for your answer.

I downloaded the svn directory.
After opening the mobile6 project file i have seen that the ogles-files are
not included. Does the ogles files not working at the current state on a
mobile device?

Greetings,

menuthaur
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Did you use the correct SVN repository? It's in branches/ogl-es
The visual studio projects should include the ogl-es drivers, as I am usually using them here with MSVC. Don't know about the Makefile, but at least ogl-es was also tested under Linux. The wince project might not include this at all, but as said you'd have to integrate it with the wince device anyway.
menuthaur
Posts: 9
Joined: Mon Feb 07, 2011 12:15 pm
Location: Germany

Post by menuthaur »

I used the address written on the sourceforge website for downloading
the sources.
Are you using an ogles emulation for the PC?
menuthaur
Posts: 9
Joined: Mon Feb 07, 2011 12:15 pm
Location: Germany

Post by menuthaur »

Forgot to mention that i tried the emulation from "powervr sdk ogles 1.1"
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Yeah, SF shows the main address of the repository. You probably downloaded some hundred GB now. But also the ogl-es directory somewhere hidden inside the repository.
Yes, for PC I used the PowerVR emulation for 1.1 and 2.x
menuthaur
Posts: 9
Joined: Mon Feb 07, 2011 12:15 pm
Location: Germany

Post by menuthaur »

No it was no problem. I installed Tortoise SVN and checked out the
ogles directory.
I have a problem with the Power VR SDK:
The examples are crashing. The dll's are in the right directory but i have no
glue at this moment what is wrong.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

You probably did not copy the egl dll to win32-visualstudio or some system path. Also note that if you want ot use ogl-es 2.x you have to remove the OpenGL linking in the whole project.
menuthaur
Posts: 9
Joined: Mon Feb 07, 2011 12:15 pm
Location: Germany

Post by menuthaur »

You are right :-).

Thanks
menuthaur
Posts: 9
Joined: Mon Feb 07, 2011 12:15 pm
Location: Germany

Post by menuthaur »

I'm now a step further. I integrated the ogles1 files for the mobile devices.
The ogles-driver is vincent 3d.
I used for the first tests "Hello world".
Without loading the bitmap "sydney.bmp" the application is running and you can see the animation.
With loading the bitmap, the ogles-driver is dumping an assert because the
textureformat is not known. The assert is coming in the
"function void Context :: UpdateMipmaps(void)"

Code: Select all

void Context :: UpdateMipmaps(void) {

	MultiTexture * multiTexture = GetCurrentTexture();
	Texture * texture = multiTexture->GetTexture(0);

	U32 logWidth = Log(texture->GetWidth());
	U32 logHeight = Log(texture->GetHeight());

	U32 logSquareBound = logWidth < logHeight ? logWidth : logHeight;
	U32 level;

	for (level = 1; level <= logSquareBound; ++level) {
		Texture * outer = multiTexture->GetTexture(level - 1);
		Texture * inner = multiTexture->GetTexture(level);
			
		inner->Initialize(outer->GetWidth() / 2, 
			outer->GetHeight() / 2, outer->GetInternalFormat());

		size_t x, y;
		size_t width = inner->GetWidth();
		size_t height = inner->GetHeight();

		switch (outer->GetInternalFormat()) {
		case RasterizerState::TextureFormatAlpha:
                        ...
			break;

		case RasterizerState::TextureFormatLuminance:
                        ... 
			break;

		case RasterizerState::TextureFormatLuminanceAlpha:
                        ...
			break;

		case RasterizerState::TextureFormatRGB565:
                        ...
			break;

		case RasterizerState::TextureFormatRGBA5551:
                        ...
			break;

		case RasterizerState::TextureFormatRGBA4444:
                        ...
			break;

		default:
			assert(0);
		}
The "outer->GetInternalFormat()" is returning the value which is
TextureFormat::TextureFormatRGBA8. And this constant is not handled
in the switch case construct, so i am getting an assert.
Have you and idea what can i do?

Greetings
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

The RGBA8 format is not necessarily supported by ogl-es. Instead of fixing something in the emulation you should force Irrlicht to use RGB16 format by setting the TextureCreation flag after starting the engine.
menuthaur
Posts: 9
Joined: Mon Feb 07, 2011 12:15 pm
Location: Germany

Post by menuthaur »

OK,

Thanks,

I try it next week.
Post Reply