How much ogre-next is actually good?

Anything and everything that's related to OGRE or the wider graphics field that doesn't fit into the other forums.
nosar
Gnoblar
Posts: 3
Joined: Sun May 11, 2025 4:24 pm

How much ogre-next is actually good?

Post by nosar »

Hi, I'm looking for a render engine for my projects, but I've never used orge or ogre-next. I will use ogre anyway, as for some projects I need the most compatibility with older hardware, but I'm not sure about ogre-next as it's hard to find detailed information about it without deep research.
I compiled ogre-next and I liked the built-in examples and tests, but it's not enough.
The only real use case for ogre-next was "stunt rally", but I encountered terrible performance even on a gtx750ti.
At the same time old "stunt rally" on orge is able to render at full hd ~ 30fps on intel hd530 (which I think is a very decent result considering the amount of transparent objects)
The graphics are pretty much the same between versions, which turned out to be quite disconcerting.

So here are my questions:

  • Can ogre-next have the same performance as ogre? (this is the most important thing, what I've seen in "stunt rally" is nowhere near as good).
  • Is there any function in ogre-next similar to "compile_shader(shader)"?
  • Is there asynchronous shader compilation or something similar?
  • Is there a shadercache?
  • Can I use compute shaders?
  • Tessellation?
  • Does it support GPU Instancing?
  • Is Geometry Shaders supported?
  • It would be very handy if there was Texture Streaming.
  • Is there any ogre-next per-instance shader parameters, equivalent or possibility to implement such functionality?
  • Is there any way to implement complex effects without modifying the source code:
    • Custom shadow implementation (soft shadows, colored shadowmaps)
    • Froxel volumetric fog
    • Custom implementation of GI
    • Custom SSR
  • Can I make my rendering pipeline in general?

Some questions may seem silly, and some are silly because I found confirmation on the internet (but I'm still not sure, that's why I'm asking). But I would appreciate it anyway if someone could answer this.

User avatar
sercero
Bronze Sponsor
Bronze Sponsor
Posts: 515
Joined: Sun Jan 18, 2015 4:20 pm
Location: Buenos Aires, Argentina
x 188

Re: How much ogre-next is actually good?

Post by sercero »

ogre-next is supposed to have way better performance than ogre, that was the design decision to create a somewhat incomatible codebase.

From the testimonies of many developers here, ogre-next does actually perform better than ogre. I don't know why stunt rally with ogre-next was slow for you, perhaps @Crystal Hammer could answer why it is slow in some hardware.

I don't use ogre-next so I dont know about all the feature that you listed, but I think that most of them are actually supported.

Hopefully someone more versed with ogre-next can respond.

User avatar
Crystal Hammer
Orc
Posts: 412
Joined: Sat Jun 23, 2007 5:16 pm
x 121

Re: How much ogre-next is actually good?

Post by Crystal Hammer »

nosar wrote: Sun May 11, 2025 5:51 pm

I need the most compatibility with older hardware

In this case Ogre is better than Ogre-next.

nosar wrote: Sun May 11, 2025 5:51 pm

I compiled ogre-next and I liked the built-in examples and tests, but it's not enough.

Did you check my Terrain demo for Ogre-Next? I think it's great because it shows (even on video) the best thing: having lots (like 100 k) entities drawn (using HW instancing and other cool tricks, texture/material combining probably too). It is great for lots of objects/vegetation.
Also it is closer to Ogre-Next, SR3 has few things broken, left unoptimized (no Terra pages visibility, and that per pixel matrix inverse for water, etc).

nosar wrote: Sun May 11, 2025 5:51 pm

The only real use case for ogre-next was "stunt rally", but I encountered terrible performance even on a gtx750ti.
At the same time old "stunt rally" on orge is able to render at full hd ~ 30fps on intel hd530

If you are targeting Intel GPUs and such, then also Ogre is better for this, not Ogre-next.

SR3 on my GPU (RX 6600 XT) works fine at 60 Fps so I didn't really go after optimizing or fixing those things I broke. Still, there is a lot to tweak in SR3 options. But surely SR3 has higher GPU requirements than old SR. Old SR is CPU bound and terribly laggy. New SR3 is smooth on good GPUs (high end probably or medium now).

I checked GPU benchmark for your gtx750ti versus mine RX-6600-XT.
https://www.videocardbenchmark.net/comp ... GTX-750-Ti
Your GPU looks to be 4 times slower. So I'd say that's why the poor SR3 performance. SR3 is likely meant for higher GPUs. Unless you pick lowest graphics preset in SR3.

Still, I can't really compare old SR to new SR3 in terms of same graphics. SR3 did add more vegetation and has no impostors, it uses HW instancing a lot (and Fps is really smooth). Also in SR3 there are PBR shaders for everything. They have more shader code to do on GPU. So the GPU HW requirements are higher for same effect.

User avatar
Crystal Hammer
Orc
Posts: 412
Joined: Sat Jun 23, 2007 5:16 pm
x 121

Re: How much ogre-next is actually good?

Post by Crystal Hammer »

nosar wrote: Sun May 11, 2025 5:51 pm

So here are my questions:

So my answers. I'm not an expert here though, I could be wrong.

  • Can ogre-next have the same performance as ogre? (this is the most important thing, what I've seen in "stunt rally" is nowhere near as good).
    Yes. SR isn't really good to compare. But like I said above, Ogre-Next has longer, PBR shader code so it does need somewhat more GPU %.

  • Is there any function in ogre-next similar to "compile_shader(shader)"?
    IDK this

  • Is there asynchronous shader compilation or something similar?
    There is only in latest Ogre-Next 4.0 (master) and only for Vulkan, from what I understood. So not for GL3+ that I'm using on 3.0.

  • Is there a shadercache?
    Yes. IMO in SR3 it's really big and slow after a while, but SR3 has plenty of materials.

  • Can I use compute shaders?
    Yes. Terra ShadowMap generator is probably a good example.

  • Tessellation?
    Probably yes, but there is no demo or sample for this. So IDK for sure.

  • Does it support GPU Instancing?
    Yes. It's automatic. You just create many items/entities and they will use HW instancing automatically. The same way as in Ogre 14.

  • Is Geometry Shaders supported?
    I think yes. But again there is no demo or sample for this.

  • It would be very handy if there was Texture Streaming.
    I'm not sure about this. I see gray/white textures until shaders load and textures. But that's probably not streaming yet.

  • Is there any ogre-next per-instance shader parameters, equivalent or possibility to implement such functionality?
    Per instance, shader parameters are the most difficult to code here, but it is possible.

  • Is there any way to implement complex effects without modifying the source code:

    • Custom shadow implementation (soft shadows, colored shadowmaps)
    • Froxel volumetric fog
    • Custom implementation of GI
    • Custom SSR

Without modifying the source code? Seriously? Nope. No.
OgreNext is an advanced engine, which basically means you need to know it's code for more complex things or possible bugs. Maybe it is possible inheriting classes and not changing OgreNext sources but I somehow doubt for these effects.

  • Can I make my rendering pipeline in general?
    Yes. I did code it, e.g. render targets for SSAO and other effects, also own render targets for glass and particles etc. You have full control over this here.
nosar
Gnoblar
Posts: 3
Joined: Sun May 11, 2025 4:24 pm

Re: How much ogre-next is actually good?

Post by nosar »

Thank you all for your responses, it was very helpful!

Did you check my Terrain demo for Ogre-Next?

Looks good, but I couldn't test on my hardware due to compilation errors (most likely due to a newer version of cmake). I will definitely test it later on debian live.

If you are targeting Intel GPUs and such, then also Ogre is better for this, not Ogre-next.

Your GPU looks to be 4 times slower.

Actually gtx750ti is about 10x slower than rx6600xt at fp32 and 20x slower at fp16 (AMD has a very good architecture).
For ogre-next, I'm targeting gtx750ti level hardware as it is still capable of running some new AAA games.
It also has similar performance with Vega integrated GPUs, which I am also targeting : Vega 8, Vega 10, Vega 11.

SR3 did add more vegetation

I tried to set the settings so that the amount of vegetation would be about the same in different versions of SR, I may have failed to do so.

Without modifying the source code? Seriously? Nope. No.

Honestly, I didn't word this paragraph of questions correctly, I should have at least put them in a different order:

  • SSR
  • Shadows
  • GI
  • Froxel Fog

And in general, the question as a whole is not very well formulated. I wanted to know how flexible ogre-next is.
I need some screen space textures for SSR:

  • Depth
  • Normal
  • Roughness
  • Metallic

If this is there, the ogre-next source code does not need to be modified.
For shadows, I need the same as for SSR, but I also need the ability to render whatever I want into buffers (as far as I learned, I can do this in ogre-next, so if ssr is possible, then shadows are also possible)
For fog and GI I need the same thing as for SSR, but it seems that here I have to dig into the built-in voxelizer implementation and modify the ogre-next source code (or wait for SDF, as I understand it is planned)

Anyway, it looks like ogre-next is a good fit for my projects. I'm going to go make "hello cube"!

User avatar
Crystal Hammer
Orc
Posts: 412
Joined: Sat Jun 23, 2007 5:16 pm
x 121

Re: How much ogre-next is actually good?

Post by Crystal Hammer »

nosar wrote: Mon May 19, 2025 6:30 pm

And in general, the question as a whole is not very well formulated. I wanted to know how flexible ogre-next is.
I need some screen space textures for SSR:

  • Depth
  • Normal
  • Roughness
  • Metallic

If this is there, the ogre-next source code does not need to be modified.
For shadows, I need the same as for SSR, but I also need the ability to render whatever I want into buffers (as far as I learned, I can do this in ogre-next, so if ssr is possible, then shadows are also possible)
For fog and GI I need the same thing as for SSR, but it seems that here I have to dig into the built-in voxelizer implementation and modify the ogre-next source code (or wait for SDF, as I understand it is planned)

Anyway, it looks like ogre-next is a good fit for my projects. I'm going to go make "hello cube"!

So Depth and Normal screen textures should be there in SSAO sample. I saw them BTW of adding SSAO to SR3.
But screen space textures for Roughness and Metallic no, I don't think so. Probably could be added. I don't think it's easy, maybe even needed in ogre-next sources, I'm just guessing.
SSR are Screen Space Reflections? There is a sample for this I think, but not so advanced as in your post.
GI is there but it doesn't work with Terra for Terrain. I'm just saying, this should really be noted in features list. I'd assume it works.
I'd recommend doing what you need in ogre-next sources if you're able to, definitely not waiting for anything done here.

nosar
Gnoblar
Posts: 3
Joined: Sun May 11, 2025 4:24 pm

Re: How much ogre-next is actually good?

Post by nosar »

SSR are Screen Space Reflections?

Yes.

There is a sample for this I think, but not so advanced as in your post.

Yes, I saw a sample for ssr, but it seemed very slow to me. If I'm going to use it, it needs to be rendered at least at half resolution anyway. Also, I'd like to combine ssr with screen space indirect lighting, so I'd have to write my own implementation anyway.

GI is there but it doesn't work with Terra for Terrain. I'm just saying, this should really be noted in features list. I'd assume it works.

The built-in GI is good, but it still doesn't seem to be able to load and save data from disk. (I'm not sure, correct me if it's wrong)
The built-in voxelizer is very fast, but that's nowhere near good enough for the final product, so I need to either develop my own GI or implement disk loading myself. Besides, I need a GI for open worlds, so either way.

I'd recommend doing what you need in ogre-next sources if you're able to, definitely not waiting for anything done here.

That's basically what I wanted to do for everything except sdf, since sdf is very difficult to implement.