[FREEWARE] OpenGl ES 2.0 Demo

Search This thread

Phippu

Senior Member
Mar 5, 2010
71
5
Bern
www.PhilippeWechsler.ch
Its there, the first real OpenGL ES 2.0 demo! Some of you may know already my Tigre Engine. The last few day I started to add OpenGl ES 2.0 support and below are the first results. I'll publish all the code as soon as its 100% ready, if you can't wait you should have a look at the current engine at my page, with full source code and a lot of demo applications.

To the demo itself: It shows a very simple phong shader applied to different meshes. If your device has a gsensor, then you can spin around the camera by rotating your device. I've tested the demo with my HD2 and got a bit more than 50 FPS, which is realy god (but remember, its only a prototype and I have a lot of ideas how to improve the performance:))

The second demo is available now! It shows some more advanced effects such as diffuse mapping and normal mapping combined with phong specular lighting. You can switch between those effects and use the g-sensor to rotate the eye or you can rotate it freely with your fingers.

Requirements:
- .net 3.5 runtime
- windows mobile 5,6,6.1,6.5 or 6.5.3
- opengl 2.0 with shader compiler and 1.x support

supported devices:
HTC HD2, HTC HD Mini, Toshiba T01, Acer Neotouch

not supported devices (there are lot of demos on my page that work with this devices, but not opengl 2 demos):
HTC HD, Diamond, Diamond 2, Touch Pro, Touch Pro2

devices that support opengl es 2.0 but does not fulfill all requirements (those will be supported soon):
Omnia II, F900

Download (look for "Tigre Gl2 Test" and for "Tigre Demo Suite 2.0" for the eye)

The updated engine is not yet released, but this article explains how open gl es 2.0 works and how it can be used with the upcoming update:

Basics of OpenGl ES 2.0 and how to use it with Tigre

PS: Why is ogles 1.x required? Ogles 2.0 does offer nothing to do all the required matrix transformation stuff. So I simply decided to use that functionality from ogles 1.x, but omnia II users don't worry, there will be a cpu based transformation too!

gles2.png
basicshader2.png
 
Last edited:

DMAND

Senior Member
Dec 6, 2006
573
0
Cool test, how do you display the FPS?

If only games developers harnessed the power available, well hopefully we'll see some great 3D games with WP7
 

Phippu

Senior Member
Mar 5, 2010
71
5
Bern
www.PhilippeWechsler.ch
Measuring the time that was required for rendering a frame is easy, but display text with my engine is currently only possible with ogles 1.x (but i think the text implemnetation is great and very flexible). I'll put the updated Tigre sdk online as soon as every feature that works with ogles 1.x also works with ogles 2.0, I think this will take 1-2 weeks.

To WP7: I'll port the engine also for xna, so this will make things even more easy;) Haven't started this yet, but I don't know if we can access opengl directly with wp7 or if we can use the gpu only via xna. This would be very sad, since xna does not allow us to writte own shaders.

PS: the next demo will be some more eye candy, with bump mapping+specular lighting + environment mapping; be exited:p
 

yngvebn

Senior Member
May 13, 2008
235
0
Oslo
This is fantastic! I'm working on some OpenGL-stuff myself, and with your permission I'd like to use parts of your tigre-implementation.

I'm trying to load up one of the demos (actually any of the demos) in the VS-solutions, but I get an error "Create context failed: 12291"

Any ideas?


Running it on an HTC HD2, btw... :)
 

Phippu

Senior Member
Mar 5, 2010
71
5
Bern
www.PhilippeWechsler.ch
Thanks:D Of course you may use parts of Tigre, but please note somewhere that you use parts of Tigre and please do not use it for commercial use without permisson.

The problem with the context failed bug is well known, also for silvermoon or any other ogles application on the snapdragon platform. For now you have to softreset your hd2, then it sould work. I've found already a solution for that issue, the bug will be removed in the next release.
 

yngvebn

Senior Member
May 13, 2008
235
0
Oslo
Thanks:D Of course you may use parts of Tigre, but please note somewhere that you use parts of Tigre and please do not use it for commercial use without permisson.

The problem with the context failed bug is well known, also for silvermoon or any other ogles application on the snapdragon platform. For now you have to softreset your hd2, then it sould work. I've found already a solution for that issue, the bug will be removed in the next release.

Ah, all right I'll give that a try! Of course no commercial application, just really nice and useful (hopefully ;))
 

dusty_nz

Senior Member
May 5, 2008
465
11
When I run I just get a blank window.

Do I need to start. App seems to be okay as I can select menu items like teapot etc but still blank.

Running Xannytech rom with Chainfire driver and dotNet 3.5
 

dusty_nz

Senior Member
May 5, 2008
465
11
Ran it again and it worked.

Might be abug with the default model is not defined? Last one I selected was teapot. Didn't work but just ran it again and it worked. Nice, Very nice
 

DMAND

Senior Member
Dec 6, 2006
573
0
Yeah I had that too, first time it loaded up blank, second time it worked fine.

Smooth and without chainfires drivers too
 

lesscro

Senior Member
Jul 16, 2007
4,486
2,266
Paris
Can we create a games with this stuff...
like your Engine...

Need 3D design ?

i m enjoy by this possibilty... :D
 

Phippu

Senior Member
Mar 5, 2010
71
5
Bern
www.PhilippeWechsler.ch
strange, never had that bug, the default model is the teapot, I think it might be something with the transformation, I'll have a look at it.

Of course you can create games with this. A 3D game based on Tigre is already in production. Technicaly it is posible to do something similar like Half Life 2 with OpenGl ES 2.0 and the HD2, but that would require a team and not a single developer:-(
 

jebise101

Senior Member
Jan 22, 2010
931
121
dude if you get this working on the omnia 2 i will for sure send you a donation. I have a few questions through why will the omnia 2 be cpu based? or are they all cpu based driver? maybe you can add to Chainfire work found here

Will this allow us to play any open GL 2.0 games that are out there?

Chainfire has done some great work but its no wear near complete. I don't even know if his drive is opengl 1.0 or 2.0
 
Last edited:

Phippu

Senior Member
Mar 5, 2010
71
5
Bern
www.PhilippeWechsler.ch
Its a bît complex, let me explain: 3d graphics consists of two things: transformation and shading. Transforming means that we have the 3 points of a triangle that needs to be positioned correctly, i.e we need to know where that triangle is, how it is rotated, scaled and where's the camera. This is done using different matrices, such as the camera matrix, the world matrix the projection matrix and so on. OpenGl ES 1.x does offer this functionality, 2.0 does not! Bacause the engine does this already with opengl 1.x, I don't have to implement this if ogles 1.x is available. If not, with the omnia ii for example, I'll have to do this manualy. This won't be too bad for the performance, only scenes with a lot of rotating objects and similar will not be optimal....

So the main work will be done on the gpu also on the omnia ii, if ogles 1.x is missing that means I have to code a bit more:)
 

jebise101

Senior Member
Jan 22, 2010
931
121
ahh i see you either build on top of opengl 1.0 and if that is not there then you gotta start from nothing and build the functions that 1.0 provides and then build the 2.0 library. I thought for a second you where going to mke it cpu based and not use the gpu. The omnia has such great hardware but dam sumsung for not giving it opengl , they should have at least added 1.0. :(

Now as i said Chainfire has done great amount of work with his opengl driver for the omnia. Maybe you can use that?

I know in time the driver will only get better, but do you think it will just work out of the box when you release it? Like will applications just use it and function like they should. I ask this because Chainfire has done great work but again he is only one person and not a team. His driver is no where near completion and he is slow with his releases and not everything functions.
 
Last edited:

Phippu

Senior Member
Mar 5, 2010
71
5
Bern
www.PhilippeWechsler.ch
I don't know about his driver, but I have a idea! In the attachement is a file called "libGLES_CM.dll", this is a software driver for opengl es 1.1. Rendering is terrible, but transformations are quite good. Copy that file into the directory where the demo is installed to and try to run it on the omnia II. Does that work?
 

Attachments

  • libGLES_CM.zip
    88.7 KB · Views: 56

Top Liked Posts