What happend with Ogre?

A place for Ogre users to discuss non-Ogre subjects with friends from the community.
Post Reply
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: What happend with Ogre?

Post by Kojack »

I've never met anybody from the forum in real life. I don't travel much (well, ever).
madmarx wrote:3 days ago, one of my coworkers of my age was killed in Bataclan, Paris. I did not knew him very well. But this made me think I could be dead anyday, I prefer to tell this right know :
That's sad.
One of my students (graduated last year) died a week ago. She was the only one from that intake who wanted to use my ogre teaching framework in outside projects. So it's left me thinking about frameworks and voxels and stuff (she was a voxel fan).
I teach 3D maths through software implementation, and the rest with Unity3D, to be like the others.
I'm the same, but the unity bit is not by choice. I'm probably the only staff member who isn't in love with unity.
User avatar
mkultra333
Gold Sponsor
Gold Sponsor
Posts: 1894
Joined: Sun Mar 08, 2009 5:25 am
x 114

Re: What happend with Ogre?

Post by mkultra333 »

madmarx, damn, that's awful. This thing reaches out and affects so many.

dark_sylinc:
If you want the kind of low level you want; the compositor lets you do this via the Workspace listener and/or custom compositor passes. Additionally, you can treat workspaces like you used to treat RTTs (i.e. you now associate an RTT to a workspace, then call workspace->_update(); whereas in 1.x you would create a viewport from an RTT, then call rtt->_update() )
Custom compositor passes let you control the rendering with C++ in a level much lower than 1.x ever did.
Excellent! I'm glad to hear that, it makes me much less afraid of trying to port.
The average user certainly feels otherwise. Programming your own shaders and BRDFs is too overwhelming for most people. They actually want to focus on making an actual game/simulation/medical software.
The new Hlms material system aims at solving exactly that.
I'm certainly not arguing Ogre shouldn't do those things, I just always wished that kind of functionality wasn't in the Ogre core but instead in customizable classes the user could easily hack at. So in the same way I might add a class to handle sound, or a class to handle monster AI, I can add a class made by Ogre experts that handles shadows. So I had a piece of production level code that I could also look inside and modify.

But if I can hack around all that stuff anyway, it doesn't really matter.

I know nothing of the Hlms. I'm guessing that means High Level Material System? I've had hardly any time last couple of years, and when I do have time I focus on my 1.8 project.
If you're going to get your hands dirty, don't complain the mud is not to your taste.
I'm fussy about what mud is to my tastes and what isn't. Like I said before, I have no time for the mud of resource management, DX or OGL obscure idiosyncrasies, shader compiling, and a tonne of other stuff I just want done and out of the way and to not have to think about.

On the other hand, I LOVE the mud of writing shaders, RTT and custom shadow methods.
Actually quite the opposite. Despite whatever impression you may have, some users are already using it in production, and we (as in the team I'm working with) are using it heavily in production.
It works, it's fast, it's reliable.
Cool. Last time I was here, it didn't even have Manual Objects. BTW, in the new manual objects, or whatever replaces them, please include all the possible vertex capabilities if you haven't already. 1.8 doesn't let you set binormal or specular, I had to hack that in myself. I use those parameters for other info, not actually binormal or specular. :)
(I'm assuming you still have, or intend to have, an easy way to construct meshes rather than the pain of having to fully construct meshes manually. Again, more of the kind of mud I don't want to have to deal with unless really necessary. Manual Objects are really handy for dynamically generated meshes.)

Anyhow, I'm liking the sound of 2.1 better now. Unlikely I'll use it for this project, too alien to 1.8, but after this project I'll definitely give it a go. But perhaps in the docs don't stress that doing low level stuff is somehow wrong, like the old docs did. Some of us like low level stuff, in some situations.
"In theory there is no difference between practice and theory. In practice, there is." - Psychology Textbook.
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5292
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1278
Contact:

Re: What happend with Ogre?

Post by dark_sylinc »

madmarx, not sure how close you were, still you have my condolences.
Cool. Last time I was here, it didn't even have Manual Objects. BTW, in the new manual objects, or whatever replaces them, please include all the possible vertex capabilities if you haven't already. 1.8 doesn't let you set binormal or specular, I had to hack that in myself. I use those parameters for other info, not actually binormal or specular. :)
(I'm assuming you still have, or intend to have, an easy way to construct meshes rather than the pain of having to fully construct meshes manually. Again, more of the kind of mud I don't want to have to deal with unless really necessary. Manual Objects are really handy for dynamically generated meshes.)
Quoting al2950:
al2950 wrote:I would not use ManualObject, I removed it from OgreProcedual. The interface to create vertex buffers, etc in Ogre 2.1 one is really nice once you have read about it and looked at the samples. There is no need for ManualObject, infact it may hinder you as ManualObject has to make assumptions. Having said that it is really useful during a porting process!
See http://www.ogre3d.org/forums/viewtopic. ... 2&p=520405, the DynamicGeometry and CustomRenderable samples show how to use the new interfaces.
On the other hand, I LOVE custom shadow methods.
Right now "custom" shadow methods aren't supported, but support would be easy to add. TBH you can just hack away ShadowCameraSetups modifying Ogre's source code directly until "proper" add on interface is added. Not a big deal.
set binormal or specular
Don't want to spoil it to you but binormals are discouraged in 2.1. The reason is that we needed to assign fixed slot numbers to ease matching input layouts with shaders and binormals, being the least used feature, got the slot #16. Most GPUs (NVIDIA...) support < 16 slots; so binormals won't work on those cards.
If you want binormals, you should use an extra texcoord, or use a single float to store the reflection and derive via cross product, or use the new QTangents (it's a TBN stored as a Quaternion with a few quirks in a float4 as 16-bit signed normalized integers).
User avatar
mkultra333
Gold Sponsor
Gold Sponsor
Posts: 1894
Joined: Sun Mar 08, 2009 5:25 am
x 114

Re: What happend with Ogre?

Post by mkultra333 »

No Manual Objects? Hmm, oh well. They were handy, but not a deal breaker. Specular is very handy for saving memory, since it's 4 bytes instead of 4 floats, got my world meshes down to size by storing normal and tangent as bytes instead of floats. Accuracy is fine.
Right now "custom" shadow methods aren't supported, but support would be easy to add. TBH you can just hack away ShadowCameraSetups modifying Ogre's source code directly until "proper" add on interface is added. Not a big deal.
Nah, see, that's all the kind of stuff I hated about Ogre shadows in 1.x. I just ditched the lot. Do the whole thing with RTT, cameras, viewports. Have a shadow atlas system that allows for different sized shadows for different lights, the reuse of the same shadow map on many different objects. For instance, a wall panel with complex shadows on it, repeated in lots of different on screen places. Shadowmap area on the atlas for these "furniture" only needs to be small in size, since it's only covering a small area, and only gets rendered once when one of those wall panels appears on screen... and not every frame, just the first time it reappears on screen. Oh, and the shadows take on colour as they pass through coloured glass.

To give you some idea, here's the way shadow maps are dynamically assigned, depending on the number and type of shadow casting lights that are visible. (I use a custom "Zone/Portal" culling system, my game is a space dungeon.)
I've changed exactly how the layout is set a bit since this picture, but the basic idea is the same. One thing I changed is that shadow map areas don't have to be square, they can be rectangular, to make better use of the available space.

Image
Those purple "static model" shadow map areas only get rendered when the types of static models change, and get cut up depending on how many such types of models are visible.

So the above full sized texture rarely gets a complete update, rather parts of it get updates if they are needed. This is controlled using viewports to only render areas of the shadow atlas that need updating. Spotlights only get updated if they move or something moves within their AABB, and static furniture spotlights don't cast shadows from dynamic objects, they only change when the visible furniture types changes.

Here's some example images I just threw together now. They look like garbage, because I have not had time to work on stuff like textures yet. So it's a mess.

Screenshot. All this is done via deferred shading. So it would be normal to have lots of little non-shadowing point lights as well, for spot effects like lasers, explosions, small lamps etc.
Image

Visualization of the shadow atlas.
Image

If I can translate this into Ogre 2.1, I'll be happy.
"In theory there is no difference between practice and theory. In practice, there is." - Psychology Textbook.
User avatar
mkultra333
Gold Sponsor
Gold Sponsor
Posts: 1894
Joined: Sun Mar 08, 2009 5:25 am
x 114

Re: What happend with Ogre?

Post by mkultra333 »

So could I do this in Ogre 2.1?
"In theory there is no difference between practice and theory. In practice, there is." - Psychology Textbook.
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5292
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1278
Contact:

Re: What happend with Ogre?

Post by dark_sylinc »

Sorry for the late reply. Been very, very, very, very busy.

You definitely don't fit the 'average' user definition. Answering your question:

Shadow map + UV atlas was a planned feature. In fact there's some structures around to support this. But I never finished it.
There's also shadow map via texture arrays coming (which is easier to support); something that you probably didn't have in 1.x.

If you want shadow map + UV atlas, aside from trying to finish where I started (addShadowTextureDefinition has an isAtlas parameter which is yet never used); probably the best way to support the kind of dynamism you want is to write your own pass.

Right now shadows are rendered via a pass_scene pass (see CompositorPassScene & CompositorPassSceneDef) which handles both regular rendering and shadow map passes.
Your custom pass could use CompositorPassScene's code as a starting point, but then be modified to render from all lights' perspective into each region of the shadows you want.
Normally Viewport regions are meant to be static once the workspace is constructed and are reused and shared (they get shared if two compositor passes want to render to the same region), but you can workaround this by creating an invalid viewport region (thus guaranteeing no other pass will grab it for reuse) and then during runtime change it to your will.

Custom passes are created via a CompositorPassProvider, which must be registered to the CompositorManager2 at startup.

So, long story short: Yes you can, but not out the box. Something like you want would have to be achieved writing new code. You may be able to reuse a lot of your old code by just moving it to the custom compositor pass though.
User avatar
mkultra333
Gold Sponsor
Gold Sponsor
Posts: 1894
Joined: Sun Mar 08, 2009 5:25 am
x 114

Re: What happend with Ogre?

Post by mkultra333 »

Interesting, thanks for the reply.

I didn't expect it to be in 2.1 "out of the box", I know it's a pretty convoluted custom setup. I just wanted to check if I could theoretically port this setup.

Things that might make porting difficult would be:

1. Not being able to replicate the old style RTT in some manner.
2. Not being able to replicate moving a camera around to different views or positions for various different RTTs.
3. Not being able to replicate the old style viewports in some manner.
4. Not being able to alter the size and positions of the "viewports" in real time.

If I'm understanding correctly, these things are do-able in 2.1, though via completely different methods.
"In theory there is no difference between practice and theory. In practice, there is." - Psychology Textbook.
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5292
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1278
Contact:

Re: What happend with Ogre?

Post by dark_sylinc »

That's correct. Your quite unique use of Ogre 1.x touched areas that have changed significantly.
User avatar
EricB
Bronze Sponsor
Bronze Sponsor
Posts: 358
Joined: Fri Apr 09, 2010 5:28 am
Location: Florida
x 212
Contact:

Re: What happend with Ogre?

Post by EricB »

mkultra333 wrote:Five or so months from now I intend to make a last ditch effort to actually finish my project. I'm going to try and take a year off and just concentrate on programming, since I've done so much already. If Ogre 1.8 with DX9 runs ok on Windows 10, I'll go with that. If not, I'll move to 1.10 and update to DX11. But beyond that, next project, I imagine I'll probably use something like Unity or Unreal.
Late to this, I don't check the forums often, but if it's still relevant....

My game, GearCity, uses 1.8. (Shameless Plug: http://store.steampowered.com/app/285110/ ... damn I need to update the media on the store page... It's so out of date...) So far it has been hit or miss with DirectX 9 in Windows 10. Older AMD cards, (hd4300) seem to have issues with it, as well as the new Crimson drivers. nVidia had some problems, but I believe they've been resolved. Switching to OpenGL fixes all these issues regardless. And I believe over time most of these issues will be fixed from the drivers side of things.

Interestingly enough, Intel drivers work great in Windows 10. Were as previously we had issues with people who did not update their Intel drivers in older versions of Windows. Sadly this lead to about a quarter of my negative reviews. :( (Mostly because they had vendor locked drivers and did not understand how to install the Intel drivers.)


Should also note, Ogre 1.7 had all sorts of stability issues in Windows 10. (As well as OS X) I bumped my self up to 1.8 and it seemed to fix most of those problems. Again, everything I've ran across is probably related to driver issues in Win10. So you should be fine with using it if you don't choose to go chasing technology.
Image
User avatar
mkultra333
Gold Sponsor
Gold Sponsor
Posts: 1894
Joined: Sun Mar 08, 2009 5:25 am
x 114

Re: What happend with Ogre?

Post by mkultra333 »

Thanks for the info, bronzebeard.

Hopefully they'll have the dx9 stuff sorted on windows 10 by the time I'm ready to release a proper playable alpha. If not, I'll just warn people in advance about how some older cards won't work. I don't think OpenGL is an option for me, too much of a nightmare converting the million plus shaders I've written. I'm glad 1.8 is working for you, since that's what I'm on.

If I have time I'd still like to move to 1.10 and DX11, but time is in very short supply.

BTW, your game looks like fun, and seems to have plenty who enjoy it.
"In theory there is no difference between practice and theory. In practice, there is." - Psychology Textbook.
User avatar
FrameFever
Platinum Sponsor
Platinum Sponsor
Posts: 414
Joined: Fri Apr 27, 2007 10:05 am

Re: What happend with Ogre?

Post by FrameFever »

I would like to know the current development state of OGRE 2.1
The last progress report was from June.
User avatar
syedhs
Silver Sponsor
Silver Sponsor
Posts: 2703
Joined: Mon Aug 29, 2005 3:24 pm
Location: Kuala Lumpur, Malaysia
x 51

Re: What happend with Ogre?

Post by syedhs »

You can always read and browse threads in the topic Ogre 2.0+.
The link is here:-
http://ogre3d.org/forums/viewforum.php?f=25
A willow deeply scarred, somebody's broken heart
And a washed-out dream
They follow the pattern of the wind, ya' see
Cause they got no place to be
That's why I'm starting with me
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 534

Re: What happend with Ogre?

Post by Kojack »

Or follow Matias' trello to see what's remaining: https://trello.com/b/59pirbgD/ogre-2-1

It's probably about time for another front page status post, with all the recent stuff that's been going on (the pbs stuff and skeleton animation).
Lax
Hobgoblin
Posts: 583
Joined: Mon Aug 06, 2007 12:53 pm
Location: Saarland, Germany
x 50

Re: What happend with Ogre?

Post by Lax »

I think Ogre (2.1) must be pushed with beautiful new showcases from users. As there are a lot of nice things done, like:
  • Shadows: Never been that easy to integrate as now!
  • PBS: Scenes do look amazing!
  • Performance
  • Lights
So that other users see when traverling around, that beauty :D

What is missing:
A lot of examples how to use Ogre2.1 properly, as many things are different now, like threading, resource loading, Hlms scripts, etc.

Regards
Lax

http://www.lukas-kalinowski.com/Homepage/?page_id=1631
Please support Second Earth Technic Base built of Lego bricks for Lego ideas: https://ideas.lego.com/projects/81b9bd1 ... b97b79be62

User avatar
devxkh
Halfling
Posts: 84
Joined: Tue Aug 02, 2016 6:07 pm
Location: Germany
x 12

Re: What happend with Ogre?

Post by devxkh »

What is missing:
- unlit skeletal animation
- morph animation
- pbs texture animation
- decals (sample)
- async res loading
- code cleanup, for all the trash that doesn't work ....

if it's true:
- fixed tag points : https://trello.com/c/lPC1351X/232-tagpo ... e-ogre-531
- fixed ribbon trails:https://trello.com/c/Bb8ZFhut/267-billb ... 25-t-91597

and a stable release candidate :!:
My little OGRE engine -> FrankE WIP
Post Reply