How do I use Irrlicht + XCode + iPhone SDK ??

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
FuzzYspo0N
Posts: 914
Joined: Fri Aug 03, 2007 12:43 pm
Location: South Africa
Contact:

Post by FuzzYspo0N »

Image

There were a number of interesting things to watch out for zlobotan ,

Like for instance i cant see anything in the simlutor, only on the device.
the above is the screenshot from example 3, running at 60 FPS
zlobotan
Posts: 7
Joined: Fri Apr 10, 2009 3:51 pm

Post by zlobotan »

FuzzYspo0N, I hope you release it soon..
FuzzYspo0N
Posts: 914
Joined: Fri Aug 03, 2007 12:43 pm
Location: South Africa
Contact:

Post by FuzzYspo0N »

Yea! it is soon, i have already sucessfully finished the application framework, the library projects and im just finishing up the examples, i am guessing it will be done by wednesday next week the latest.

I am tidying up a few of the things and adding some easier functionality for using the engine instead of faffing with obj c... so all the application specific messages that you need (applicationWillResignActive, ReceievedLowMemoryWarning, ApplicationWillQuit) they are all in the framework , so that you can just use cpp from the application instead :)

I will most definately be submitting it to Hybrid for submission into the svn as soon as the examples are working smoothly.
zlobotan
Posts: 7
Joined: Fri Apr 10, 2009 3:51 pm

Post by zlobotan »

How things are going on?
FuzzYspo0N
Posts: 914
Joined: Fri Aug 03, 2007 12:43 pm
Location: South Africa
Contact:

Post by FuzzYspo0N »

Ah someone noticed! Well, Hybrid has merged major changes across from the svn side, getting it up to date, and my side is pretty much done now (just veryfying build integrity etc) ...

I dont know how hybrid is going to filter it back etc, i will speak to him and let you know.
IPv6
Posts: 188
Joined: Tue Aug 08, 2006 11:58 am

Hello!

Post by IPv6 »

i just tryed to compile irrlicht with ogles and iphone device from sources under gles1 branch (svn). there are some issues like broken syntax in irriphonedevice headers so... is it in early "under construction" stages? If yes i can help to clean up things to make it work (or at least compile without obvious errors)

But the real question - how do you use this branch to make iPhone applications? do you use irriphonedevice or window intialization is not a part of irrlicht yet?

I`m using iphone-dev toolchain (llvm-gcc), not mac+xcode.
GameRotor-Games and more...
Wiredplane-Shareware utilities...
grafikrobot
Posts: 44
Joined: Wed Dec 26, 2007 11:42 pm

Re: Hello!

Post by grafikrobot »

IPv6 wrote:I`m using iphone-dev toolchain (llvm-gcc), not mac+xcode.
I suspect that might be the source of your problems. I abandoned supporting the iphone-dev specific code a long while ago as it was a pita to keep the iphone-dev system going. But I also suspect that the recent trunk->ogles merge also broke some things (all the previous merges have).
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Yes, some minor incompatibilities might be in ATM. But FuzzYspo0N promised to send updates in the near future. The branch is working on the Pandora without any changes, so it's probably just some OSX specific thing that's missing.
FuzzYspo0N
Posts: 914
Joined: Fri Aug 03, 2007 12:43 pm
Location: South Africa
Contact:

Post by FuzzYspo0N »

and my side is pretty much done now (just veryfying build integrity etc) .
Let me elaborate a little so there is clarity on what my goal was with this ..

Ease of use :

Irrlicht is inherently easy, its really easy to get a scene running and get things going. Xcode is inherently a pita, but it does help development for people who dont use mac for development. Our latest project at work led me down the iphone path and i found i quite enjoyed it but i found it was tedious at certain levels. grafikrobot took the "smarter" route by using a build system (i would also) but i wanted to make irrlicht a viable tool for iphone development.

The XCode projects :

The projects are not entirely broken, there are only a few actual issues. The problem lies in a few missing files here and there, some mac specifics being included for iphone (not needed stuff) and the new joystick stuff not being compatible properly (havent actually wondered why, i just removed it).

The new project file is cleaned up, and manageable, in the sense that you can drop down the target selector, and change between simulator / device and rebuild with one click. This is already achieved, and the lib build perfectly fine.

The examples and framework :

Being a c++ programmer and long term irrlicht user, i got frustrated with fighting objective c++ and wondering where my pointers were etc. To circumvent any future frustrations on the end users part, i wrote a really simple 3 tier applicatino framework that is targeted at every kind of user.

The c++ user (or, non iphone developer).
The objc/mac/iphone beginner
The iphone developer

The application framework exposes the majority of functions any user could want... such as operating system notifications for low memory, application pausing (via lock button) and other such obvious things. The application already exists and has an irrlichMain() instead of a normal main (tho it would higher up). Inside of that main, you can feel free to hack away at a normal c++ / irrlicht level, and it would just work. Instead of coding in the main function as many do, instead a made an init and a shutdown function, and a render function. The application framework takes care of those, and you only need to call things where appropriate.

The higher levels are aimed at people wanting to learn objc and iphone development. by tearing out the game.update () , and inserting their own code into the obvious places, you can leverage full objc capabilities and expose them lower down (in the c++ classes) or, you can use pure objc. The next level is obviously just the start of the wrapper, where the actual appDelegate and other iphone specifics reside, also giving the control to the developer at that application level.

The problems

At the moment, i have not managed to get the device to render inside the simulator (actually havent tried in a while) , but the only other obvious problem is in the input. I have not seen any input mapping (like touchesBegan etc) and i am busy ampping those downward into the application layers, as well as mapping them into the engine. The problem is actually that the application delegate receives the notifications, as well as the view (the EAGLView) is external. I have written an internal appdelegate which wont be in the first release, but im hoping when i release the second fix of this, it will have it all internally, where you can attach a second delegate to the engine, to receive the events, and the engine will take care of the event reciever classes. I would say the input mapping is about 60 % complete, as well as the internal classes for managing the iphone port.

This means when you create the device, you can specifiy EDT_IPHONE_OGLES1 and it will do what the other drivers do, handle everything internally.

The ETA of the first release

after delaying due to other things and whatever, i will commit to submitting the working project files, and the application to hybrid by wednesday. This will happen, no matter the state it is in (theres things i want to implement, like input mapping, fixing all the examples and making accelerometer control mapping etc etc) ... but still .

Wednesday 20 may, 6pm GMT += (dont hold a gun to me at 6 :10) but ill definately make sure hybrid has the working version by then. Im saying this here so that i will be compelled to MAKE time, cos we have been quite busy lately (for example, releasing our latest game and new website www.lumaarcade.com).

I will try my hardest! and hybrid can harass me on irc to get it to him ;)
IPv6
Posts: 188
Joined: Tue Aug 08, 2006 11:58 am

Post by IPv6 »

Cool!!! i`ll glad to beta-test new additions heavily! :))

BTW, after a little hacking i successfully compiled irrlicht-based game with GLES for iPhone via iphone-dev toolchain. there is one strange thing (i think this is the main difference between xcode and iphone-dev toolchain): i commented out osx code to make it work. it seems that macosx code compiled with IPHONE device on purpuse, but with toolchain there is a lot of conflicts.

my app still crashing shortly after start with "Bus error"/"var-logs-CrashReporter" but compiled binary already works on iphone (at least i see my internal log messages in ssh console! :) ) and device creation and initialization works ok (i see internal Irrlicht log messages here as well).

so irrlicht+premake4+a little hacking=iphone win :) Mac and xCode is not necessary!
GameRotor-Games and more...
Wiredplane-Shareware utilities...
FuzzYspo0N
Posts: 914
Joined: Fri Aug 03, 2007 12:43 pm
Location: South Africa
Contact:

Post by FuzzYspo0N »

DELAYS@!!!

Ok sorry, 1 day late, it should be up in the next few hours. sorry guys :)

busy ... compiling ....taking... long
FuzzYspo0N
Posts: 914
Joined: Fri Aug 03, 2007 12:43 pm
Location: South Africa
Contact:

Post by FuzzYspo0N »

Image

SIGH... so, for some reason the text isnt rendering and neither are the rendering of draw2dImage, so ill have to look into this later tonight.

The above picture is good news for some :) i got everything working great in the simulator as well now.

Ill get this up asap, iv been working at it for a while now.
Sherry Haibara
Posts: 15
Joined: Fri Jun 29, 2007 11:47 am

Post by Sherry Haibara »

This is extremely exciting, keep us updated and good work! ;)

Sherry Haibara
IPv6
Posts: 188
Joined: Tue Aug 08, 2006 11:58 am

Post by IPv6 »

FuzzYspo0N wrote:Ill get this up asap, iv been working at it for a while now.
This is really cool, congrats!!! :) keep us updated!!!
GameRotor-Games and more...
Wiredplane-Shareware utilities...
IPv6
Posts: 188
Joined: Tue Aug 08, 2006 11:58 am

Post by IPv6 »

FuzzYspo0N wrote:Ill get this up asap, iv been working at it for a while now.
Any news? ;)

BTW, will OGLES branch go into Irrlicht 1.6?
GameRotor-Games and more...
Wiredplane-Shareware utilities...
Post Reply