OGRE on PS3 and Wii
-
- Gnoblar
- Posts: 13
- Joined: Tue Aug 07, 2007 6:13 am
OGRE on PS3 and Wii
I don't know if there are similar posts already present. But I couldn't find anything relevant.
I want to know if OGRE can be extended to PS3 and Wii by writing renderers for PS3 and Wii.
The reason I'm asking is that OGRE is a wonderful library. It can used to address almost all OS for the PC and the XBOX.
But if it could be extended to the PS3 & Wii, then it would be a real winner.
I want to know if it cannot be done at all and why.
If the answer is 'yes', the how and if anyone has attempted it.
Thanks in advance.
I want to know if OGRE can be extended to PS3 and Wii by writing renderers for PS3 and Wii.
The reason I'm asking is that OGRE is a wonderful library. It can used to address almost all OS for the PC and the XBOX.
But if it could be extended to the PS3 & Wii, then it would be a real winner.
I want to know if it cannot be done at all and why.
If the answer is 'yes', the how and if anyone has attempted it.
Thanks in advance.
-
- Gnome
- Posts: 362
- Joined: Thu May 01, 2008 1:55 am
- Location: Paris, France
-
- Silver Sponsor
- Posts: 597
- Joined: Sun Jan 07, 2007 11:55 pm
- Location: Cologne, Germany
-
- Gnoblar
- Posts: 13
- Joined: Tue Aug 07, 2007 6:13 am
Assume that we get the Wii or PS3 SDK by becoming a registered developer.
I want just the rendering part of OGRE and OGRE is meant to do that. I'll handle gameloop, input, sound, nw, etc on my own.
Is is just a case of writing a new renderer for OGRE?
Will everything else fit in?
I saw in the other post that some people have tried. But I didn't any more info than that.
I want just the rendering part of OGRE and OGRE is meant to do that. I'll handle gameloop, input, sound, nw, etc on my own.
Is is just a case of writing a new renderer for OGRE?
Will everything else fit in?
I saw in the other post that some people have tried. But I didn't any more info than that.
-
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11
-
- Silver Sponsor
- Posts: 597
- Joined: Sun Jan 07, 2007 11:55 pm
- Location: Cologne, Germany
The point is that you can't have an engine with an open source licence for the consoles. Even being a registered developer you would violate your agreement with Nintendo, Sony or Microsoft because the code would reveal information that isn't meant to be public.knox_1234 wrote:Assume that we get the Wii or PS3 SDK by becoming a registered developer.
Enough is never enough.
-
- OGRE Retired Moderator
- Posts: 4011
- Joined: Fri Sep 19, 2003 6:28 pm
- Location: Burgos, Spain
- x 2
I see certain workarounds here. There's obviously the Ogre closed license, which cost a bit of money but in return you aren't forced to open any source code you write, even if you're playing with the Ogre internals. The second is that writing a RenderSystem plugin doesn't require to open source it according to the LGPL.
I don't know much about the licensing contracts of Nintendo, Sony or Microsoft, so in the end that would be a matter of contacting them and talking about these issues.
I don't know much about the licensing contracts of Nintendo, Sony or Microsoft, so in the end that would be a matter of contacting them and talking about these issues.
-
- Old One
- Posts: 2565
- Joined: Sun Sep 11, 2005 1:04 am
- Location: Paris, France
- x 56
Anyway one the the major issue we can guess for now is the memory management that is totally based on the default "new" statement in the current stable version of Ogre, and that will be (for the most parts at least) fixed in the next stable version.
jjp> Assuming that PS3 uses some kind of Embedded OpenGL interface and XBox360 a DX10 interface, we could assume too that the OgreMain part of Ogre could be fixed (if it's not already done) to compile on the compilers for those consoles and don't provide the specific renderer modules officially?
jjp> Assuming that PS3 uses some kind of Embedded OpenGL interface and XBox360 a DX10 interface, we could assume too that the OgreMain part of Ogre could be fixed (if it's not already done) to compile on the compilers for those consoles and don't provide the specific renderer modules officially?
-
- Halfling
- Posts: 95
- Joined: Tue May 15, 2007 1:32 pm
- Location: Guildford, UK
I'd say part of the problem is not just porting (which is probably easy) but making use of the actual technology behind the PS3. Any decent engine on the PS3 is very data driven and ready for good use of the SPUs. Just building a render system on OpenGL ES would lack the extra kick to even be worth porting it to PS3.
-
- OGRE Retired Team Member
- Posts: 3335
- Joined: Tue Jun 21, 2005 8:26 pm
- Location: Rochester, New York, US
- x 3
If you have the licenses for development I'm sure it can be done. You would be writing a completely new rendersystem, but it should have the flexibility necessary to take advantage of any benefits and avoid any weaknesses on each platform. But as people have said it can't really be a community effort and we can only give so much advice since it is you and not us who would have the licenses.
-
- OGRE Retired Moderator
- Posts: 9481
- Joined: Fri Feb 18, 2005 2:03 am
- Location: Dublin, CA, US
- x 22
The PS3 point is very valid, and is nearly as valid for the 360. Ogre simply is not a concurrent enough design for an easy port that actually is more than "yeah it runs on this platform". You would have to rewrite so much of Ogre to get it to perform optimally on a PS3 that you might as well skip Ogre and just write a render engine from scratch. And unless your Ogre-based game were already written to run Ogre in its own thread, communicated via message queue or some other asynchronous method, you aren't going to get the benefit of having 6 (ok, 5) cores on the 360 either. One example is animation and particles -- since these update Ogre object state data, there is no non-serialized way to update those systems in their own thread if you are using Ogre for animation (skinning as well as morph) and particles.
The Wii is less of a concern because it's already a single-threaded architecture -- however, it's also a fixed-function architecture, so you lose a significant portion of what Ogre provides in terms of the programmable pipeline. Its texture unit state management is also quirky enough that you end up rewriting most (if not all) of the fixed-function code in Ogre, so again, you might as well just write a performant layer using the Wii SDK API.
The Wii is less of a concern because it's already a single-threaded architecture -- however, it's also a fixed-function architecture, so you lose a significant portion of what Ogre provides in terms of the programmable pipeline. Its texture unit state management is also quirky enough that you end up rewriting most (if not all) of the fixed-function code in Ogre, so again, you might as well just write a performant layer using the Wii SDK API.
-
- Gnoblar
- Posts: 17
- Joined: Tue Feb 14, 2006 11:15 pm
SPUs and Concurrency
Having had some (limited) insight in PS3 development I generally disagree with the opinion expressed here that there are technical reasons against porting Ogre to Cell.
Looking at the cell architecture, you have a GPU with an OpenGL-like interface, so exchanging the renderer should not be a big deal. Then you have to port all the Ogre-specific code to Cell (disregarding the SPUs) which should also be doable.
Third you have to ask the question how to make use of the SPUs. This is generally a little though because the things don't have access to main memory. On the other hand, you have to ask the same question when you build an engine from scratch and probably will come to the same conclusion. Namely, that parallelizing anything related to the main loop and rendering itself is not reasonable. So you basically have the same situation you have when writing an Ogre-App for a, say, Quad-Core CPU. And this situation will be that all the parallelism takes place in Application level, not on Ogre-Level. Granted, writing an Application for SPUs is tougher than for a Intel Quadcore or XBox360 CPU, but that problem will arise _after_ you ported Ogre and independently from the question if you are using Ogre or some different engine.
Aftertought: what good are the SPUs anyways? I wished for some SPUs when programming on a PC for:
- realtime texture synthesis
- procedural generation of geometry
- rendering of sky-textures using volume-raytracing
- I even though about on-the-fly baking of ambient occlusion maps for procedurally generated geometry (using ray-tracing again).
The list is not exhaustive, but it might give you an idea of what the SPUs can be used for.
Looking at the cell architecture, you have a GPU with an OpenGL-like interface, so exchanging the renderer should not be a big deal. Then you have to port all the Ogre-specific code to Cell (disregarding the SPUs) which should also be doable.
Third you have to ask the question how to make use of the SPUs. This is generally a little though because the things don't have access to main memory. On the other hand, you have to ask the same question when you build an engine from scratch and probably will come to the same conclusion. Namely, that parallelizing anything related to the main loop and rendering itself is not reasonable. So you basically have the same situation you have when writing an Ogre-App for a, say, Quad-Core CPU. And this situation will be that all the parallelism takes place in Application level, not on Ogre-Level. Granted, writing an Application for SPUs is tougher than for a Intel Quadcore or XBox360 CPU, but that problem will arise _after_ you ported Ogre and independently from the question if you are using Ogre or some different engine.
Aftertought: what good are the SPUs anyways? I wished for some SPUs when programming on a PC for:
- realtime texture synthesis
- procedural generation of geometry
- rendering of sky-textures using volume-raytracing
- I even though about on-the-fly baking of ambient occlusion maps for procedurally generated geometry (using ray-tracing again).
The list is not exhaustive, but it might give you an idea of what the SPUs can be used for.
-
- Gnome
- Posts: 334
- Joined: Wed Aug 02, 2006 9:27 am
- Location: Toronto, Canada
Re: SPUs and Concurrency
The problem is that OGRE, while only being a graphics engine, still does too much at the core - animation, skinning, particles - which could be considered application level things but as xavier mentioned affect the Ogre state and are not easily separable.morfiel wrote:And this situation will be that all the parallelism takes place in Application level, not on Ogre-Level.
i.e to add angular velocities or acceleration to particles means I have to dig into the core data structures of OGRE.
Heck, even visibility testing is an application level task to me.

-
- Gnoblar
- Posts: 6
- Joined: Thu Aug 07, 2008 9:47 pm
I have talked to a few Wii homebrew developers and they have said it should be easily portable to Wii because it runs on both mac and linux anyways heres some links you guys might like I hope someone is able to port it to Wii.
http://wiibrew.org/wiki/DevkitPro
http://wiibrew.org/wiki/Development_Tools
http://www.gc-linux.org/wiki/Main_Page
http://forum.wiibrew.org/read.php?19,333,333
http://wiibrew.org/wiki/DevkitPro
http://wiibrew.org/wiki/Development_Tools
http://www.gc-linux.org/wiki/Main_Page
http://forum.wiibrew.org/read.php?19,333,333
-
- Goblin
- Posts: 231
- Joined: Thu May 11, 2006 3:07 pm
- Location: Berlin
A good starting point would be the pocketPC fork: https://ogreaddons.svn.sourceforge.net/ ... /PocketPC/
-
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
If you do that - you will have to give out the OGRE code on your DVD if you use a DVD as the delivery method of the game.Kencho wrote:... The second is that writing a RenderSystem plugin doesn't require to open source it according to the LGPL....
Watch out for my OGRE related tweets here.
-
- Gnoblar
- Posts: 6
- Joined: Thu Aug 07, 2008 9:47 pm
-
- OGRE Retired Moderator
- Posts: 9481
- Joined: Fri Feb 18, 2005 2:03 am
- Location: Dublin, CA, US
- x 22
No, what you do is pay for the OUL, which is why it exists.Assaf Raman wrote:If you do that - you will have to give out the OGRE code on your DVD if you use a DVD as the delivery method of the game.Kencho wrote:... The second is that writing a RenderSystem plugin doesn't require to open source it according to the LGPL....
You can't "give out" the code on a DVD because the DVD for console titles is encrypted.
-
- Goblin
- Posts: 231
- Joined: Thu May 11, 2006 3:07 pm
- Location: Berlin
It seems that Deck13 ported (maybe not the whole ogre code) to XBox360 .
Their new Game "Venetica" uses Ogre and they want to publish it on PC and XBox360 (later for Linux and MacOSX):
http://www.golem.de/0808/61960.html
Can anyone confirm the Port?
Their new Game "Venetica" uses Ogre and they want to publish it on PC and XBox360 (later for Linux and MacOSX):
http://www.golem.de/0808/61960.html
Can anyone confirm the Port?
-
- Goblin
- Posts: 270
- Joined: Wed Jun 15, 2005 11:25 pm
- Location: UK, Liverpool
i was under the impression that you didnt need to distribute the code on the medium it's released on, only that the code is made avaliable.. such as on a website, we covered this in my first year at uni, so my memory is a big vague now..xavier wrote:No, what you do is pay for the OUL, which is why it exists.Assaf Raman wrote:If you do that - you will have to give out the OGRE code on your DVD if you use a DVD as the delivery method of the game.Kencho wrote:... The second is that writing a RenderSystem plugin doesn't require to open source it according to the LGPL....
You can't "give out" the code on a DVD because the DVD for console titles is encrypted.

With time and patience, the mulberry leaf becomes satin. With time and patience the mulberry leaf becomes a silk gown.
-
- Goblin
- Posts: 264
- Joined: Thu Aug 21, 2008 4:48 pm
I also believe this is the case.synaptic wrote:i was under the impression that you didnt need to distribute the code on the medium it's released on, only that the code is made avaliable.. such as on a website, we covered this in my first year at uni, so my memory is a big vague now..
I recall hearing something very similar while sorting out licensing issues.
-
- OGRE Retired Moderator
- Posts: 9481
- Joined: Fri Feb 18, 2005 2:03 am
- Location: Dublin, CA, US
- x 22
Given that the topic is about PS3 and Wii, I can't see how this is relevant -- 360 uses DirectX and porting the DX rendersystem to the 360 is actually about a two-day task (including debugging time).SiENcE wrote:It seems that Deck13 ported (maybe not the whole ogre code) to XBox360 .
Their new Game "Venetica" uses Ogre and they want to publish it on PC and XBox360 (later for Linux and MacOSX):
http://www.golem.de/0808/61960.html
Can anyone confirm the Port?
The issue is that there is no "porting" to the Wii or PS3 -- it's a ground-up new implementation, and unfortunately, Ogre (like most software) is not designed suitably well for use on the PS3 Cell architecture.
The Wii is probably slightly more suitable, but it's also 100% fixed function (and not PC-graphics fixed function either), so there is no real porting there either -- ground-up again.
-
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Does the the 360 have fixed func or only shaders?xavier wrote:Given that the topic is about PS3 and Wii, I can't see how this is relevant -- 360 uses DirectX and porting the DX rendersystem to the 360 is actually about a two-day task (including debugging time).SiENcE wrote:It seems that Deck13 ported (maybe not the whole ogre code) to XBox360 .
Their new Game "Venetica" uses Ogre and they want to publish it on PC and XBox360 (later for Linux and MacOSX):
http://www.golem.de/0808/61960.html
Can anyone confirm the Port?
The issue is that there is no "porting" to the Wii or PS3 -- it's a ground-up new implementation, and unfortunately, Ogre (like most software) is not designed suitably well for use on the PS3 Cell architecture.
The Wii is probably slightly more suitable, but it's also 100% fixed function (and not PC-graphics fixed function either), so there is no real porting there either -- ground-up again.
Watch out for my OGRE related tweets here.
-
- Goblin
- Posts: 231
- Joined: Thu May 11, 2006 3:07 pm
- Location: Berlin
@xavier: I thought the discussion turned into ... "If you do that - you will have to give out the OGRE code on your DVD if you use a DVD as the delivery method of the game." ... discussion. And this was my point.xavier wrote:Given that the topic is about PS3 and Wii, I can't see how this is relevant -- 360 uses DirectX and porting the DX rendersystem to the 360 is actually about a two-day task (including debugging time).SiENcE wrote:It seems that Deck13 ported (maybe not the whole ogre code) to XBox360 .
Their new Game "Venetica" uses Ogre and they want to publish it on PC and XBox360 (later for Linux and MacOSX):
http://www.golem.de/0808/61960.html
Can anyone confirm the Port?
-
- OGRE Moderator
- Posts: 7157
- Joined: Sun Jan 25, 2004 7:35 am
- Location: Brisbane, Australia
- x 535
One of the problems with lgpl on a console is that one of the primary goals of lgpl is to allow the user to replace an lgpl component of a program with a modified copy. So if a console game used Ogre under the lgpl instead of the OUL, it doesn't matter if the console specific stuff is kept in a binary only non lgpl render plugin, the end user still needs the ability to recompile a modified version of ogre and either drop the dll into the game's directory (kind of tricky) or relink with the entire game object files or source. Either way the end user needs to compile ogre for the console (so you need the console's toolchain) and some how get the game to accept the new version (copy protection and encrypted hddvd/bluray discs make it hard).
Section 4 of the LGPL:
Section 4 of the LGPL:
You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following:
* a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License.
* b) Accompany the Combined Work with a copy of the GNU GPL and this license document.
* c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document.
* d) Do one of the following:
o 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
o 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version.