Slashdot Mirror


OGRE GPL'ed 3D Engine

Steve Streeting writes "Version 0.99b of OGRE (Object-oriented Graphics Rendering Engine) has been released! OGRE is a well designed, flexible and easy to use 3D engine released under the GNU Public License. This version adds highly customisable, scriptable particle systems, generic billboard support, compatibility with VC.Net, performance improvements and various bug fixes."

25 of 260 comments (clear)

  1. Looks nice, but.... by dnaumov · · Score: 5, Informative

    Judging from the screenshots, the engine is very capable, as it can even render Quake3 maps rather well. The problem is, does the open-source community have the artists needed to take this and make it into a playable and interesting game ?

    1. Re:Looks nice, but.... by g4dget · · Score: 4, Insightful
      You don't need artists to make a "playable and interesting game", you need smart game designers. Nice visuals is icing on the cake. Sadly, many game design companies these days make the same mistake: they assume that great graphics makes for great game play. In some cases, I think graphics actually detracts from game play; for example, I like Nethack a lot better than the graphics-based equivalents--the monsters I can imagine in my head are a lot more interesting than the cheesy commercial graphics that kills the imagination.

      I would actually argue that many, perhaps most, great game designs originated in open source or the public domain. Those designs were then picked up by commercial gaming companies, branded, trademarked, and augmented with lots of graphics.

    2. Re:Looks nice, but.... by rabidcow · · Score: 3, Insightful

      You may not need good art to make a good game, but you do need them to market a popular game. Every review will feature screen shots.

  2. As opposed to... by MongooseCN · · Score: 5, Funny

    OGRE is a well designed, flexible and easy to use 3D engine...

    I hope this doesn't compete with my badly designed, rigid and difficult to use 3D engine I have been working on.

  3. Comparison to Crystal Space? by Hast · · Score: 3, Informative

    Judging from screen shots and feature lists it's pretty much on par with Crystal Space. Although the latter doesn't have built in support for Q3A levels. (Would have been a nice way to compare them otherwise.)

    I do know that some game engine courses at my uni use Crystal Space as the engine of choice. (But I haven't taken that course yet.) Seems like lot's of fun in any case.

    1. Re:Comparison to Crystal Space? by MisterBlister · · Score: 5, Informative

      Actually Crystal Space has tons more features, but it loses out in the screenshot wars as all the demos and screenies of CS are HORRIBLE. But that's due to shitty artists, not lack of features.

    2. Re:Comparison to Crystal Space? by Jorrit · · Score: 3, Interesting

      I'm indeed not an artist :-)

      But take a look at http://www.planeshift.it
      This is a free MMORPG (Open Source) made using Crystal Space and CEL (Game entity layer on top of CS). They have VERY good artists and they recently released a tech demo.

      Greetings,

      --
      Project Manager of Crystal Space (http://www.crystalspace3d.org). Support CS at http://tinyurl.com/cb3x4
  4. Re:Universal 3D Acceleration by WasterDave · · Score: 3, Interesting

    Besides, I think OpenGL is extremely hard to implement efficiently in software.

    A nice man call John Carmack would probably disagree with you there.

    Dave

    --
    I write a blog now, you should be afraid.
  5. Re:Windows only? by Drahca · · Score: 3, Informative

    From the site:

    Temas joined the project in April 2002 and has been working hard on Linux porting and also generally on ANSI C++ compliance. He comes from a background of open-source development, and is currently a lead contributor to the Jabber open-source server as well as working on OGRE.

    Linux port will probably be here shortly, I think.

  6. Re:Yes, yes, it's nice, but... by Temas · · Score: 5, Informative

    Well be happy, it already compiles under Linux. I've been working hard on the Linux port and have the Core and Engine compiling currently, and should be in CVS now. I'm also working on the OpenGL renderer as I type this. I'm actually hoping to get some OpenGL screenshots tonight. It will just be a basic version, but it's a starting point.

  7. Re:Universal 3D Acceleration by Phil+Wilkins · · Score: 4, Offtopic

    JC writes to OpenGL, he does not implement it, that's the job of the driver writers. Writing to OpenGL is piss easy. Writing an OpenGL driver, or worse, a complete software implementation of OpenGL, is a fucking nightmare.

  8. Re:Re-Inventing the wheel..again ! by delta407 · · Score: 5, Insightful

    600 3d engines ... yet none of them are "really good"

    Uh, you did notice the part saying "last modified on 23.6.2000", didn't you? Two years is a long time; Crystal Space and others have come a very long time since then.

    so why can't developers focus and colaborate on making 1 really good engine and make it "perfect" instead of fragmenting into their own little GPL projects that are nothing more IMO than a waste of time ?

    3d engines have become a much larger project since two years ago, what with people wanting platform independence, 3d acceleration, and lots of other technically demanding features. The only 3d engines that are getting anywhere have lots of developers coordinating.

    I guess time is what programmers waste best

    He says smugly, as he pushes the Submit button and millions (if not billions) of lines of code are executed for his message to be posted.

  9. Re:Universal 3D Acceleration by Tomble · · Score: 5, Informative
    JC writes to OpenGL, he does not implement it, that's the job of the driver writers
    Well generally, yes. Except that he helped develop the Utah-GLX Open-GL drivers for Xfree86 3.3.

    Unfortunately, Utah-GLX was crappy and crashed a lot. Well, it did on my machine. I got a MGA G400 on the strength that their HW specs had been opened and a driver was being developed. Oh well, it's not like many other choices are well supported on Linux today. (I'm not too bitter now, tho, as Xfree 4's DRI version seems to work good)

    Writing an OpenGL driver, or worse, a complete software implementation of OpenGL, is a fucking nightmare
    I'd imagine so, OpenGL is pretty big. Of course, Brian Paul has already done the complete software implementation with Mesa (I guess everyone knows that nowadays, right?) but I doubt that any commonly available PC graphics cards support a full OpenGL state machine. It has too many features that are of little interest to the average games programmer for most companies to care that much to do it properly.

    Well, IMHO, y'know.

    --
    Be careful! New moon tonight.
  10. Solves the wrong problem by Animats · · Score: 5, Interesting
    It's a nice piece of work, but it solves a problem that nobody needed solved.

    Ogre is a "high-level scene graph engine". This is a level above a standard 3D rendering API, like OpenGL, but a level below a general-purpose game engine. Unfortunately, while high level scene graph engines seem plausible, they're not very useful.

    There are quite a few of these things. SGI Inventor was the first major one. Apple had one in Quicktime 3D. Direct-X has one, but Direct-X is mostly used as a low-level drawing API. One was announced for OpenGL (it was called Farenheit) when SGI and Microsoft lost interest, it didn't really bother anybody.

    You need a low-level graphics API to abstract different types of hardware. That's the real job of OpenGL and Direct-X. You might want a full game engine if you're building a game, and you can get those from a number of vendors. But mid-level APIs just aren't all that useful. You have to do things their way, but they don't do enough of the job to justify the trouble.

    1. Re:Solves the wrong problem by Mike+Connell · · Score: 3, Interesting

      My 0.02 is that the parent post is 100% wrong. Nobody that has even looked at doing viz-sim work could take that comment seriously. SGI Performer - historically *the* high performance scenegraph to measure things against, is widely used, and it's widely used because it is so very *very* useful.

      ATM SGI are porting Performer to windows (too little, too late perhaps), and there are a number of Open Source projects stepping up to fight it (personal recommendation www.openscenegraph.org) ;-)

      The world is a big place, and there are a lot of people doing serious work that can't use OpenGL - it's far too low level for application writing these days if you want to concentrate on your app itself, and cant use a game engine because they're too expensive/too limited (typically the first problem is that they are often designed for static scene only, even if they support minor modifications with a penalty)/dont work on big iron/stereo/whatever.

      The notion that scenegraphs are useless is the dumbest thing I've seen here for a while, now is the begining of the scenegraph era.

  11. Yet another engine ruined by the GPL... by BadmanX · · Score: 4, Insightful

    I've been looking for a full-featured 3D gaming engine for a while, as I wish to write a hobby game in my spare time. But since I want to keep the option of selling my game open to me, I can't use any of the currently existing 3D engines. Nor can I use the Quake 1/2 source. Why?

    They are all GPL. While I will be the first person to admit that Free Software has its merits, it simply does not work for game software. Releasing a core component of a game under the GPL means that only GPL games can be made with it "That's great!" you may be saying. The only problem is that games are not just programming. They are programming, music, art, and level design. Musicians, artists, and level designers (even hobbyist ones) are used to making money for what they do. But since the core engine of the game is GPL, no money can be made on the game.

    (Aside: And don't give me that line about how it's perfectly legal to sell Free Software. Sure, it's legal, but that doesn't mean it works. It's like another poster in another thread said: "Sure, I't's LEGAL for me to try to sell my used car for retail price, but it doesn't mean I'll be able to." Aside over.)

    And you guys wonder why FreeCraft and FreeCiv have such lousy art. It's because there's no Free Art Foundation going around saying, "You should give your art away! It's immoral to charge for art!" Same thing for musicians. Same thing for level designers. Hell, same thing for just about any skilled work that combines technical expertise with creativity EXCEPT FOR PROGRAMMING.

    The GPL doesn't work for gaming. Please, I'm begging you, stop releasing game libraries under the GPL. Release them under the LGPL or the BSD license. If you do, it means professionals can use and maintain them, benefiting and giving somthing back to the community. And we can all stop having to start from scratch (or use crappy middleware like NetImmerse) whenever we want to make a game.

    1. Re:Yet another engine ruined by the GPL... by VortexVertigo · · Score: 4, Insightful

      Why would they want you making money using their 3D engine? I don't believe the LGPL or BSD license gives them any right to seek their share of the profits from your game sales. If you want to make a saleable game then license a closed source engine. That's what everyone else does *cough* Unreal Engine *cough*.

      I always get a big laugh out of people who complain that they can't make money if they use GPLed code. That's the whole point, you aren't supposed to make money that way. If the authors of the GPLed code wanted it to be used by others for the purposes of making a profit they would SELL the code to you.

    2. Re:Yet another engine ruined by the GPL... by Jorrit · · Score: 3, Informative

      You write:

      > I can't use any of the currently existing 3D engines

      Did you consider looking at an LGPL licensed engine? LGPL allows your program to link with such an engine without requiring your own source code to be GPL/LGPL or whatever.

      Crystal Space is such an engine. I'm the project manager of that engine. Take a look at http://crystal.sf.net
      As a bonus CS works on Linux, Windows, MacOS/X, ...

      Greetings,

      --
      Project Manager of Crystal Space (http://www.crystalspace3d.org). Support CS at http://tinyurl.com/cb3x4
  12. Re:The docs make 3D graphics sound easy by cr0sh · · Score: 3, Interesting

    I would agree with this - but I would go one step further and say that what is really hard (other than making it fast, which is pretty tough) is going beyond simple polygons with shading (which isn't the easiest at first), to full texture mapping, then shading, then all the other effects.

    Also, moving from a single "cube" (your standard first object, IMO) to multiple cubes, to world representation with cameras, light sources, etc - gets tough, especially in regards to speed (ie, object culling based on view, etc). Most of the time, you have to learn funky methods of object culling (bsp trees, quad trees, etc) that are almost an art/science in themselves, that to get the required speed...

    Let's just say I learned a long time ago that when it comes to 3D graphics I knew I would never become the next "Carmack" and that those that can do this stuff, and provide us engines that bring the coding and knowledge down to a more managable level for us more average 3D coders - these guys are worth their weight in gold.

    Not that I don't enjoy reading and trying to learn about the latest in 3D coding - but I know that such coding isn't something I excel in, and probably never will (my best project: before I got into Linux I used to do a lot of personal coding in VB - I managed to code a custom perspective correct texture mapping 3D engine in pure VB, later added a custom Visual C DLL that did raster rendering to speed the thing up - I wanted to do the actual poly rendering in the VC DLL, never got around to it - at that point, DirectX still couldn't be accessed easily in VB, so the whole thing was a complete rendering engine - learned a lot, though)...

    --
    Reason is the Path to God - Anon
  13. Completely wrong. by Doktor+Memory · · Score: 5, Insightful

    The only problem is that games are not just programming. They are programming, music, art, and level design. Musicians, artists, and level designers (even hobbyist ones) are used to making money for what they do. But since the core engine of the game is GPL, no money can be made on the game.

    This is completely and totally wrong. (Or it's an artfully constructed troll; can't tell which.)

    You are only required by the GPL to release any changes you make to the engine itself. If you take the Q2 engine and make a game with your own models, textures, levels and game logic, you are not required to give away the models, textures, levels and game code.

    Remember, the engine and game logic are seperate codebases: Id Software releases the game logic seperately from the engine code, and usually years before, so that mod authors can play with it. And of course, the GPL does not "infect" anything but code: your textures, skins, models and levels remain your own no matter what.

    If you really need to make changes to the rendering engine itself (highly unlikely for a hobbyist game programmer) without giving away your code, consider looking at the Torque Engine, which you can license for $100 and a revenue-sharing agreement with GarageGames.

    --

    News for Nerds. Stuff that Matters? Like hell.

    1. Re:Completely wrong. by jswitte · · Score: 4, Informative

      Uh, no, completely right. See section 2b of the GPL: You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. I don't see any way around that. Of course, there is the possibility of dynamic linking with the library to get around the GPL, which was debated here a number of months ago, but without the library, the program would effectively be unusable, so I don't know if that would work.

      I'll probably get modded way down for this, but hell, my karma is only 14 anyway.. I generally agree with the idea of the FSF, just not all of the means. The idea that "By releasing libraries that are limited to free software only, we can help each other's free software packages outdo the proprietary alternatives. The whole free software movement will have more popularity, because free software as a whole will stack up better against the competition." [http://www.gnu.org/philosophy/why-not-lgpl.html] is a good one, but I think it partly fails in that there will always be commerical software, or ever shareware. The GPL is basically incompatible with the idea of making money off of personal work. True, maybe programmer's should just program for the fun of it, for the joy of it, for the intellectual curiosity of it, yadda, yadda, yadda. But some also want (and need) to do it to eat.

      Requireing all GPL software to be released in source form basically nullifies the idea of making any kind of income off of software, unless either (1) your clients are very generous, or (2) the software is very good. Hell, it might be that the better the software is, the fewer people will pay for it (but the people who do pay may pay more, I don't know if that would balance - has anyone done any economic/psycholofical studies of payment and the GPL?) That statement in favor of the GPL over the LGPL also presupposes that there is a large base of easy to use, compelling free software out there already. As I see it, there isn't. Oh, there is if you want to go that way phiposophically, but not otherwise. To make a very bad real-world analogy: the combustion engine I don't believe that the internal combusion engine would have achieved the dominence it did if it were GPL'd immidiately after being invented. (bad analogy for one becasue the ICM is a physical product). Oh, it would have, someone else would have just "reinvented" it. The GPL offers a "freedom" of sorts with respect to knowledge, but it also places very severe restrictions on anyone trying to make a guaranteed income-stream of of something (the counter-argument, of course, is that the software will be pirated anyway if it's any good). The restrictions of the GPL are stict enough, that I believe it will drive away perhaps as many people as it attracts.

      One might say, well, you could always ask the person to dual-license, but (1) the author may be unwilling to do that, not becasue it doesn't make sense (economically or in a real-world sense) but on philosophical grounds alone, and (2) it's not clear how this works if the original work is itself a derived work from other GPL code. The FSF has gathered an enourmous amount of steam in the computing community ("psychohistorical inertia" as Prof. Seldon might put it ;-), and that steam will work to deflect certain economic realities from entering consideration, which, which while perhaps being "unpleasent" are nonetheless real in the world we live (just as was and is true with communism and capitalism as social systems) Paul Guyot, who has worked for over a year on a Apple Newton ATA driver (which was been mentioned on Slashdot at one point), refuses to work on GPL projects. I don't know all his reasons, but one main one is that GPL software tends to be hard to compile, hard to use, hard to configure, and generally you have to be a gear-head to get anything done with it (okay, that last reason was my little flourish, but you get the idea). There are some notable exceptions: GIMP for one, and it's offspring MacGIMP. But then, I haven't installed or used MacGIMP yet. How do I know that somewhere in it I won't get an inscrutable error having to do with the Fink under-structure? In addition to working for a year on this driver with a basically undocumented operating system, he has killed two development units. Do you think that someone who has invested that kind of time, energy, and money is going to release under a license that forces him to give up any propect of making money off of it? I don't, and neither does he.

      To the end of his objection the lack of good documentation of GPL software that he sees, he has drafted a license that seeks to address this, the Kallisys Reflexive License which requires that all modifications have documentation of source code changes, but does not require source code to be released. It is incompatible with the GPL, becasue the GPL requires strictures on the code beyond the KRL. This is the GPL's "freedom". (of course, the same could be said of communism, and some have described the FSF as neo-communist)

      One very interesting thing I note about the GPL is this: in section 3b, it states: [distirbute in executable code if you] Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy [...] This seems backward to me. The idea whould be that you can charge money for it (or "force people to pay" if you prefer) for a specified period of time, after which it must become open-source. This would prevent abandon-ware. If this sane alternative had been adopted by the major computer companies back in the seventies and eighties, Paul wouldn't have had to work for a year on his driver, becasue the Newton source would be out by now!

      I agree with the FSF's intentions, and their opposition to software patents, DRM, etc, etc. But in my mind, it goes to far. Freedom should also be about choice. People should not be forced into releasing source, and large corporations are not going to be in the near future (as one other Slashdotter said, "the GPL gives Apple layers hives"). As a way to prevent abandonware like the Newton, Quickdraw 3D (now basically, but not completely, a moot point), OpenDoc, etc, etc (I'm sure that companies other than Apple also have some very interesting stuff buried in their vaults, never again to see the light of day..)

      Putting together a "compromise" organization like this would not be easy - witness now Rosetta - the printing recognizer for the Newton - will finally see the light of day in MacOS X "Jaguar" as InkWell. If my idea of a standard "abandonware clause" had been adopted with a three year limit, this would be impossible, and Apple would be in the same trap I accuse the GPL of foisting on programmers. I think the FSF has taken the easy way out, opting for an extremem communist-style "solution". But real-life, and the real-world (even the ones we create ourselves) are messy, and not ammenable to easy but extreme solutions, like pure social communism (Soviet Union), or pure social capitalism (the US in many ways), or, I fear, the FSF.

    2. Re:Completely wrong. by abe+ferlman · · Score: 3, Informative

      What are you *talking* about? If what you're saying is true, then all of idSoftware's maps would now be free, because the q1/q2 engines have been GPL'd. As it turns out, the GPL only applies to part of that program.

      Furthermore, the copyright holders can relicense under something other than GPL so you can still play your idea-ownership games if you must.

      --
      microsoftword.mp3 - it doesn't care that they're not words...
  14. Re:Yes, yes, it's nice, but... by Jorrit · · Score: 3, Informative

    Crystal Space not active for a while!!!??? Based on what information do you make that statement? I'm the project manager of Crystal Space and the project is extremely active now. There are updates to the source nearly every day and lots of CS related/using projects are emerging. Especially take a look at http://www.planeshift.it, a free MMORPG using Crystal Space. They have very good artists.

    Greetings,

    --
    Project Manager of Crystal Space (http://www.crystalspace3d.org). Support CS at http://tinyurl.com/cb3x4
  15. You are BOTH wrong! by Tord · · Score: 4, Informative

    The first poster is wrong in that he won't be able to make money from the game. Most GPL:ed 3D engines are available under dual licenses, the GPL and one commercial license that comes with a fee. That is perfect for him since he can start developing without a commercial license and then get a commercial license if/when he decides to release the game commercially. Just be sure to check the details of the license first though and possibly get some kind of guarantee that they won't change the commercial licenses during your development.

    The second poster is somewhat wrong in his interpretation of the GPL. You do have to release your entire codebase under the GPL, but not the textures, models etc.

    The GPL works on a program-wide level while the LGPL works more like the above poster described (but not entirely, you are for example required to keep the LGPL:ed codebase in a DLL, which shouldn't cause the developer any bigger troubles but gives the user the benefit of being able to modify or replace the LGPL:ed part of the program), so I guess he mixed them up a bit.

  16. Moderators, what are you smoking? by mav[LAG] · · Score: 4, Informative

    It's a nice piece of work, but it solves a problem that nobody needed solved.

    I'm glad you don't have a problem with calculating and drawing all visible polygons in a 50 000 poly-based world as quickly as possible. Some of us do.

    Ogre is a "high-level scene graph engine". This is a level above a standard 3D rendering API, like OpenGL, but a level below a general-purpose game engine. Unfortunately, while high level scene graph engines seem plausible, they're not very useful.

    I'm not sure what you mean by plausible - since Scene Graphs are not just theoretical: they work extremely well for their purpose. They are very useful, probably the fastest general purpose method for drawing large scenes available today.

    There are quite a few of these things. SGI Inventor was the first major one. Apple had one in Quicktime 3D. Direct-X has one, but Direct-X is mostly used as a low-level drawing API. One was announced for OpenGL (it was called Farenheit) when SGI and Microsoft lost interest, it didn't really bother anybody.

    Meanwhile in the year 2002, there are quite a few scene graphs available for many platforms. One of the best is Open Scene Graph, an LGPLed library which is used for games, demos and high-end visualisation systems. Not to mention Ogre itself which looks very sweet indeed.

    You need a low-level graphics API to abstract different types of hardware. That's the real job of OpenGL and Direct-X.

    Direct-3D I think you mean.

    You might want a full game engine if you're building a game, and you can get those from a number of vendors.

    You might also want to consider what 95% of game writers do and that is to select the best tools for the job and assemble them yourself. Graphics and rendering tends to be 10% of the typical code base for a commercial game - the bulk is AI, gameplay logic, resource management, menus, and supporting tools.

    But mid-level APIs just aren't all that useful. You have to do things their way, but they don't do enough of the job to justify the trouble.

    I suppose if you're looking for a game engine which does everything for you while wiping your nose and holding your hand, then a mid-level API won't be very useful. For a game writer looking to solve the one big problem of overdraw, a mid level API like Ogre or OSG is an excellent solution. Plug it in and it does the clipping, culling and drawing work for you. I know from personal experience that OSG is superb at this job - adapting equally well to visualisation, flight simulation and terrain rendering. Ogre's screenshots tell a similar story. Want a Quake 3 level? Load it and Ogre adds it to the graph and takes care of the rest.

    --
    --- Hot Shot City is particularly good.