Home » Community » Forums » » An Introduction to BREW and OpenGL ES
  Intel sponsors gamedev.net search:   
[Control Panel] [Register] [Bookmarks] [Who's Online] [Active Topics] [Stats] [FAQ] [Search]

Add Forum to Favorites |  Send Topic To a Friend | View Forum FAQ | Track this topic


 Last Thread Next Thread 
 An Introduction to BREW and OpenGL ES
Post Reply 
Hi!

I am trying to install BREW and run OpenGL ES on it. I had installed all the required components. I am stuck with the MIF editor part.

"Run the MIF editor. On the Visual C++ BREW toolbar (which should be on by default, if not right click in the toolbar are and enable it) its third button"

I went to Start->All Programs->BREW SDK v3.0.1->BREW MIF Editor and started the MIF editor but I could not find the "Visual C++ BREW toolbar" anywhere (not in the MIF editor nor on the Visual C++ window). I also did the right click thing but I dont see it anywhere. I am using VC++ 6.0

Anyhelp would be appreciated!

 User Rating: 964   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Did you install the visual studio addon? Installing that adds both the project wizard and the toolbar.

I know the addon works with VC6, but I can't remember if it includes the toolbar too (or if thats new for vc.net). If you have, do you see the project wizard when you start a new project? If so, dont worry. The toolbar just provides a shortcut to the MIF editor, you can run it like you have done from the start menu and follow the same steps.

Alan

 User Rating: 1406   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

I had no trouble getting everything up and running, but I may have missed something. The demo compiles and runs fine, but eventually the rotation of the geometry becomes choppy, like a frame update every 3 or 4 seconds. Any ideas?

 User Rating: 1177   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

Hi!

Now everything is fine, up and running but I am still getting the error message "This app was disabled to save space. Would you like to restore it now?".

I used the exact same directory structures and created and saved the project and .mif files as mentioned in the tutorial but I still get the above error.

Thanks!

 User Rating: 964   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by Schmedly
I had no trouble getting everything up and running, but I may have missed something. The demo compiles and runs fine, but eventually the rotation of the geometry becomes choppy, like a frame update every 3 or 4 seconds. Any ideas?


What is probably happening is the app is being suspended by BREW as there have been no keypressed for a while. Mobile phones suspend apps to save battery power, and the emulator emulates this behaviour. Theres not really much you can do about this, its a "feature". When the slowdown starts, hit a key and it should return to its previous speed.

Alan

 User Rating: 1406   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by dimensionX
Now everything is fine, up and running but I am still getting the error message "This app was disabled to save space. Would you like to restore it now?".

I used the exact same directory structures and created and saved the project and .mif files as mentioned in the tutorial but I still get the above error.


That one error message has become the bane of my life. Did you try downloading the complete project I provided (from here)? If you extract that out into your BREW directory (it should create a .mif and a directory), can you run that through the emulator? If so, you have the tools setup correctly you probably just put something in the wrong place (I still do, and Ive been doing this for ages).

The main thing people seem to be forgetting is to copy the OpenGLESExtension.dll into their C:\BREW\BREW 3.0.1\sdk\bin\Modules (or equivilent) directory.

Alan


 User Rating: 1406   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by AlanKemp
What is probably happening is the app is being suspended by BREW as there have been no keypressed for a while. Mobile phones suspend apps to save battery power, and the emulator emulates this behaviour. Theres not really much you can do about this, its a "feature". When the slowdown starts, hit a key and it should return to its previous speed.

Alan

Yep. Cause and solution. Is it possible to simulate a keypress without actually doing so? Something to keep the application live?

 User Rating: 1177   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

Quote:
Original post by Schmedly
Yep. Cause and solution. Is it possible to simulate a keypress without actually doing so? Something to keep the application live?


Not that I'm aware of. Unfortunatly its another intresting "feature", the hardware does it so the emulator recreates it.

The only thing I can say is you get used to it :-) Not that helpful I'm afraid.

Alan

 User Rating: 1406   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by AlanKemp
Not that I'm aware of. Unfortunatly its another intresting "feature", the hardware does it so the emulator recreates it.

The only thing I can say is you get used to it :-) Not that helpful I'm afraid.

Well at least it's better to know up front. I guess I can solve the problem by never giving the player a reason to let go of the fire button :)

 User Rating: 1177   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

on the subject of the device going to sleep from 'BREW(R) Programming Concepts'
<cut>

Managing Short-duration Timers and Device Sleep


Most devices enter into a sleep mode when there is no keypad activity on the handset for a fixed duration of time, such as 30 seconds. Sleep mode helps conserve battery power. When the device is in this mode, timers expire much slower than the actual duration set for the timer. So if a BREW application is running and there is no keypad activity for a fixed period of time, the device will go into the sleep mode, and any timers set by the application will take considerably longer to expire than the actual duration of the timer.

If this is not an acceptable behavior for your application and if it needs to be able to set short-duration timers even when the handset is in the sleep mode, you must use the EVT_APP_NO_SLEEP event. Upon receiving this event, the application must return TRUE, indicating to BREW (and to the device) that the application does not want the device to go into sleep mode.

NOTE: It is at the discretion of the OEMs whether this request is accepted.
<\cut>

but rather than use a timer that may be unavoidably affected by the device going to sleep i would sugest posting events to yourself. i meen if you have to reset the timer every tick why not save the timer overhead and just post yourself an event ;)

[code]
#define EVT_MAIN_LOOP EVT_USER + 0
...
case EVT_MAIN_LOOP:
ogles_testapp_MainLoop( pMe );

ISHELL_PostEvent( pMe->pIShell, AEECLSID_OGLES_TESTAPP, EVT_MAIN_LOOP, 0, 0 );

return(TRUE);

[\code]


- Jono
Rule #1: If you build it, they will come -- to hack and cheat.

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Hi all,

I followed closely on this article and the program crashed at following line in GL.c:


GL_API EGLBoolean GL_APIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx)
{
>>> return(IEGL_eglMakeCurrent(GPIEGL,dpy,draw,read,ctx));
}


and this is the call stack:


test_project1.dll!eglMakeCurrent(void * dpy=0x00000000, void * draw=0x00000000, void * read=0x00000000, void * ctx=0x00000000) Line 541 C
test_project1.dll!Renderer::Destroy() Line 111 + 0xd C++
test_project1.dll!Renderer::Create(_IShell * shell=0x01f30050, _IDisplay * display=0x01f43ee8) Line 17 C++
test_project1.dll!Game::Create(_IShell * shell=0x01f30050, _IDisplay * display=0x01f43ee8) Line 22 C++
test_project1.dll!test_project1_InitAppData(test_project1 * pMe=0x01f43b20) Line 243 C++
test_project1.dll!AEEClsCreateInstance(unsigned long ClsId=2684354564, _IShell * pIShell=0x01f30050, _IModule * po=0x01f438fc, void * * ppObj=0x01f30988) Line 130 + 0xb C++
test_project1.dll!AEEMod_CreateInstance(_IModule * pIModule=0x01f438fc, _IShell * pIShell=0x01f30050, unsigned long ClsId=2684354564, void * * ppObj=0x01f30988) Line 375 + 0x15 C


Can anybody give me any clue how to solve it? I am using Visual C++ .NET 2003 Pro, BREW SDK v3.1.4 with OpenGL ES extension 1.0.2.


Thanks very much.


Flying Bag

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

I am new to Brew. Can any one suggest me any tutorials on Brew 3.1 platform or its architecture


 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

All times are ET (US)

Post Reply
 Last Thread Next Thread 
Forum Rules:
You may not post new threads
You may post replies
You may not edit your posts
You may not use HTML in your posts
Jump To:
Administrative Options: