Ogre3d vs SDL

Anything and everything that's related to OGRE or the wider graphics field that doesn't fit into the other forums.
Post Reply
SarangBhai
Gnoblar
Posts: 1
Joined: Sat Sep 07, 2019 8:47 am

Ogre3d vs SDL

Post by SarangBhai » Sat Sep 07, 2019 8:50 am

I have a couple of long-running game/multimedia projects which I'm modernizing. I want a cross-platform, open-source 3D engine with a C++ interface and support for modern GPU hardware and APIs. I've narrowed the choices down to Ogre3d 2.1 and SDL, both long-running, actively developed projects that meet my technical requirements. I want to go with the one that's more pleasant to work with.

In the past I used Ogre3d 1.x and while it had a lot of guides and documentation, much of that documentation was outdated or incomplete. This seems to have gotten worse with the release of Ogre3d version 2. Meanwhile, SDL is an unknown for me, but one with a good-looking resume.

Can someone with experience in both weigh in?
0 x

User avatar
EricB
Gnome
Posts: 316
Joined: Fri Apr 09, 2010 5:28 am
Location: Florida
x 105
Contact:

Re: Ogre3d vs SDL

Post by EricB » Sun Sep 08, 2019 1:54 am

If I am not mistaken, If you plan on doing 3D in SDL, you'll have to write everything 3D related from scratch. SDL is not a 3D engine.
Ogre3D is just a 3D Engine. If you use Ogre3D, you'll have to write everything not-3D related from scratch (or use various libraries).

As such, if you were wise, you'd just use Ogre3D as your renderer, and SDL for everything not-3D.
2 x
Image

hyyou
Gremlin
Posts: 166
Joined: Wed Feb 03, 2016 2:24 am
x 6
Contact:

Re: Ogre3d vs SDL

Post by hyyou » Mon Sep 09, 2019 2:42 am

Yes, Ogre 1.9 has a lot of good documentation and top-grade tutorial. I miss those old good days.

Practically, SDL by itself can't render efficiently. You have to plug it with some rendering API, such as OpenGL.
SDL is so small. It takes little time to setup. The real work is how you set up and use OpenGL.

I recently migrate a part of my projects from Ogre3D 2.1 to Opengl-SDL.
Here is what I experienced between Ogre3D and OpenGL.

Comparative Advantage of OpenGL :-
  • OpenGL has various tutorial and example in the internet (see learnopengl.com) - more than Ogre3D 2.1.
  • OpenGL has more solid documentation. It is mostly very hard to read though.
  • In Ogre, there are a lot of nook and cranny e.g. I can't change mesh easily.
    OpenGL has less of such things, perhaps just because it is known by more people.
  • Far more flexible and more explicit - with additional effort, of course.
  • IMHO, OpenGL is easier to debug.
  • In my case, I get better performance, because I can cut feature that I don't need in Ogre, and avoid copy-data to Ogre.
    I also have power manipulate storage address of game-play and Rendering. Thus, I avoid more cache miss.
  • Feel more independent. Nevertheless, it still depends on OpenGL & SDL.
Roughly Equal :-
  • In Ogre, if I want to use special feature, I need to code Glsl partially manually (even in HLMS) - same with pure OpenGL.
Disadvantage :-
  • Take more time to make it work. Take even more time to make it right (e.g. instance rendering and Forward3D).
  • I have to control rendering manually - VAO, VBO, FBO, Mesh loader, Light, Shadow (didn't try) and Order Sorting.
    However, that is a fun part.
  • There are more (but smaller) pitfalls that are hard to debug e.g. access per-instance attribute in fragment shader = all zero.
    They are usually known by people in the area, but not by new comers.
  • I miss those Ogre HLMS magic e.g. @property, and AZDO. I will have to create it myself, if I need.
  • If I want to use other APIs e.g. directX or Vulkan, I have to learn it again.
  • Miss the days that I waited for dark_sylinc for a new gorgeous patch, and/or begged him to debug my garbage code.
Haha, like EricB said, I am probably not so wise.
Disclaimer : I am just a beginner in Both Ogre3D and SDL.
0 x

AdityaM
Gnoblar
Posts: 5
Joined: Thu Oct 03, 2019 6:08 am

Re: Ogre3d vs SDL

Post by AdityaM » Mon Oct 14, 2019 7:20 am

Personally , Ogre never advertised itself to be better or easier than the rest , it all comes down to the use case and preference ,

I personally find Ogre fits nicely with people who have a strong background in Opengl/Directx know the in and outs of a rendering platform or engine (preferably have created custom one themselves)and dont want to start writing there own proprietary custom rendering engine every time a new project comes up.

Its is what it is and it fits a niche. :mrgreen:
0 x

libolt
Greenskin
Posts: 104
Joined: Wed Jan 19, 2005 4:48 am
x 3

Re: Ogre3d vs SDL

Post by libolt » Wed Oct 16, 2019 8:32 pm

I personally use Ogre with SDL. SDL creates the window, handles events/input/audio and Ogre uses the window handle created by SDL to draw into. I've gotten this working on Windows, Linux and Android (had to patch SDL's window handling for android).
0 x

User avatar
lonewolff
Ogre Magi
Posts: 1207
Joined: Wed Dec 28, 2005 12:58 am
x 5

Re: Ogre3d vs SDL

Post by lonewolff » Mon Oct 28, 2019 11:13 pm

Unfortunately I had to walk away from Ogre.

Once Steve left things went downhill very fast. Documentation and support is now non-existent. The only people who really know how to use Ogre 2.x seem to be the main developers for it.

Any questions I have asked about 2.x pretty much remain unresolved.

I'd put your efforts in to learning DirectX or OpenGL. You'll find you have many more resources to help you and the API's are actually pretty easy to learn once you know the workflow.

Sad to say it, as I was always a massive fan of Ogre too.
0 x

paroj
OGRE Team Member
OGRE Team Member
Posts: 924
Joined: Sun Mar 30, 2014 2:51 pm
x 209
Contact:

Re: Ogre3d vs SDL

Post by paroj » Tue Oct 29, 2019 1:28 pm

lonewolff wrote:
Mon Oct 28, 2019 11:13 pm
Unfortunately I had to walk away from Ogre.

Once Steve left things went downhill very fast. Documentation and support is now non-existent. The only people who really know how to use Ogre 2.x seem to be the main developers for it.

Any questions I have asked about 2.x pretty much remain unresolved.

I'd put your efforts in to learning DirectX or OpenGL. You'll find you have many more resources to help you and the API's are actually pretty easy to learn once you know the workflow.

Sad to say it, as I was always a massive fan of Ogre too.
Ogre1 is still there and I would argue that the Ogre1 documentation is constantly improving.

Also I would not recommend going with DX or GL directly, but at least use bgfx https://github.com/bkaradzic/bgfx, as it helps you around common pitfalls with these lower-level APIs (similarly to how OGRE helps you there BTW).
0 x

libolt
Greenskin
Posts: 104
Joined: Wed Jan 19, 2005 4:48 am
x 3

Re: Ogre3d vs SDL

Post by libolt » Tue Oct 29, 2019 10:58 pm

lonewolff wrote:
Mon Oct 28, 2019 11:13 pm
Unfortunately I had to walk away from Ogre.

Once Steve left things went downhill very fast. Documentation and support is now non-existent. The only people who really know how to use Ogre 2.x seem to be the main developers for it.

Any questions I have asked about 2.x pretty much remain unresolved.

I'd put your efforts in to learning DirectX or OpenGL. You'll find you have many more resources to help you and the API's are actually pretty easy to learn once you know the workflow.

Sad to say it, as I was always a massive fan of Ogre too.
My two cents:

I've found with 1.x over the last few years paroj has done a great job maintaining and improving it. I've asked and had numerous questions answered by him over the years. That includes me nagging about keeping MinGW supported.

I've recently begun migrating my code base to Ogre 2.x and been able to get most of my questions answered by either dark_sylinc, xrgo and others on these forums or the 2.x manual.
0 x

User avatar
lonewolff
Ogre Magi
Posts: 1207
Joined: Wed Dec 28, 2005 12:58 am
x 5

Re: Ogre3d vs SDL

Post by lonewolff » Wed Oct 30, 2019 10:42 am

Obviously that's just my opinion as a veteran user of a decade and a half.
0 x

Post Reply