Page 1 of 1

OpenGL redering with edeglib

PostPosted: Oct 31, 2009 @ 11:15pm
by RapchikProgrammer

PostPosted: Nov 1, 2009 @ 7:26pm
by RapchikProgrammer
Got it working.. i had been workin too long last night so my brain was slipping i guess :P.. neways i have multiplied the indexarray[i]*3 for reasons unknown to me.. and that was causing the index list to specify vertices that dont exist.. anyways its working well now..

PostPosted: Nov 1, 2009 @ 9:30pm
by RapchikProgrammer
There is another problem, i cant get the size of the texcoordarray.. and it doesnt seem to be equal to the number of vertices in use * 2.. which i thought it would be equal to..

one of the many reasons i am using my own ogl rendering then edgelibs is that it seems like the edgelib camera is not linked with the ogl camera.. so if i draw something using ogl it looks as if its sticked to the camera and translation and rotation of the edgelib world has no effect on it.. why is that so?

PostPosted: Nov 2, 2009 @ 10:10am
by edge

PostPosted: Nov 4, 2009 @ 9:00pm
by RapchikProgrammer
but arent you giving the texture coords as long values.. cause surf info gives me a pointer to long*..

and the problem occurs because i dont know how many texcoords are there exactly.. so i cant create a dynamic array accordingly.. i thought the texCoordCount was equal to the number of vertices but that isnt working.. (i am multiplying it by 2 cause there are 2 values per texcoord)

secondly, there is no way to access this internal matrix right? I couldnt find any such method tho.. edgelib should look into such issues to help 3d developers..

PostPosted: Nov 4, 2009 @ 10:37pm
by RapchikProgrammer
one more question, i am using perspective 2d to display my menus but i cant find any method to modify the alpha value when blitting.. the only way to apply alpha to any surface seems to be to apply alpha value to its RGBA texture..

PostPosted: Nov 5, 2009 @ 9:23am
by edge

PostPosted: Jan 26, 2010 @ 9:05pm
by igolovin
Hi!
I have a few questions about OpenGL ES in EDGELIB.
1. What is the EGL_USEGLES macro that I can see in View3D sample? I can't find it in EDGELIB SDK headers.
2. Which OpenGL ES implementation was used in the View3D sample builds? I can guess about install_powervr.ARMPPC2005.CAB, install_rasteroid.ARMPPC2003.CAB, install_rasteroid.ARMWSP2003.CAB, but what about other cab-files?
3. Which OpenGL ES implementation I can use on my HTC Touch Pro2 device? You recommend PowerVR which supports only few Dell devices, Rasteroid which is now discontinued and NVIDIA GoForce SDK which has no public access. OpenGL ES on modern WM devices with EDGELIB - is it possible?

PostPosted: Jan 28, 2010 @ 9:29am
by edge
Hi,

To answer your questions:

1. The EGL_USEGLES macro is used only in the samples, it's a helper macro to set up headers/libraries properly and some source code with changes between OpenGL and OpenGL ES.

2. The other setup packages use the internal EDGELIB renderer

3. For most devices we recommend PowerVR (they support more than just Dell). If a device has a 3D chip, there is a very big chance it's compatible with PowerVR. However, the device manufacturer also needs to supply a proper OpenGL (ES) driver, so we're not sure if your device actually supports hardware accelerated OpenGL.

PostPosted: Jan 29, 2010 @ 8:00am
by igolovin
Thanks for your reply and some few questions...

I installed Animate3D sample on my WVGA device from install.ARMPPC.CAB. It works and works fast (~40 fps), but the low quality model and occupies only part of screen (480x640 instead full screen 480x800).
Then I installed Animate3D sample from install.ARMPPC2003.CAB. It works on full screen with high quality model and ~16 fps.
Then I installed Animate3D sample from install.ARMPPC2005.CAB. It works on full screen with high quality model and ~10 fps.
Why such a difference between sample from different cab-files?

About hardware accelerators.
PowerVR implements OpenGL ES Common Lite profile. With PowerVR SDK you should link to libGLES_CL.lib and your device should have libGLES_CL.dll.
Most modern devices have hardware accelerators supports OpenGL ES Common profile. They have libGLES_CM.dll instead libGLES_CL.dll. For example ASUS P835, HTC Touch Diamond2, HTC MAX 4G, HTC Touch HD, HTC Touch Diamond P3700, HTC Touch Pro2, HTC Touch Pro, Sony Ericsson XPERIA X1, Gigabyte GSmart S1200, Toshiba TG01, Acer F1 (S200), HTC HD2 (Leo).
My HTC Touch Pro2 in this list. Models accelerators are ATI Imageon, ATI Imageon Z430.
So I have to use SDK, which implements OpenGL ES Common profile and link to libGLES_CM.lib. In this case when I run program on my device it will load and will use my libGLES_CM.dll.
One of such SDK - Vincent 3D Rendering Library. I tried to use it: include headers from this SDK, link to it libGLES_CM.lib and build my program, which contains a copy of the code from Animate3D sample. Then I copy program to my device and run it (but pay attention that I have not copied Vincent libGLES_CM.dll, I was not interested this software implementation, my program used libGLES_CM.dll from my device). All this works fine and fps more than in your sample of what can be expected, but not much more, about 24 fps (against 16 with EDGELIB software rendering). I expected a better result. I just use the hardware acceleration, because glGetString(GL_VERSION) returns "OpenGL ES-CM 1.0" and glGetString(GL_VENDOR) returns "QUALCOMM, Inc".
My ATI Imageon hardware accelerator capable of handling 4 million triangles per second, 133 million pixels per second (for comparison iPhone 3G hardware accelerator capable of handling 1 million triangles per second, 100 million pixels per second). Some games that support the accelerator, which I install on my device worked fast.
How to invent, why the example works so slowly? Did you run your Animate3D sample to other devices with accelerators and what about fps on it?
( Sorry for my English :) )

PostPosted: Jan 29, 2010 @ 11:52am
by RapchikProgrammer
The htc touch pro2 has a very high resolution and a moderate hardware accelerator, that is why the fps sucks imo.. 480x800 require a lot of processing power which the touch pro 2 lacks.. as for comparison with the iphone, raw processing information is usually worthless as they dont show a lot of information which bench marks show better.. for a better comparison check this out:


and for running the animate 3d on other devices, it gives the full 60fps (i think, cant remember tried it a long time ago, but it was very high that im sure of) on my n95 8gb and n82..