Photorealistic Rendering - Engine or artist?

Anything and everything that's related to OGRE or the wider graphics field that doesn't fit into the other forums.
Post Reply
HeWhoSurvives
Kobold
Posts: 26
Joined: Fri Jul 28, 2006 3:57 pm
x 1

Photorealistic Rendering - Engine or artist?

Post by HeWhoSurvives »

Hello all,

It's been a while since I've done any work with 3D graphics and I've mostly just done small projects. However, I saw this video by the UE4 team (https://www.youtube.com/watch?v=hr20KhSlyqA) and it made me wonder...

With modern DirectX/OpenGL, how much of the photorealism is due to the artist vs the engine? Is sub-surface scattering directly supported? Is the maker of that map just really good with shaders?

Most importantly, is this something that I could recreate in Ogre?

Thanks
Death's unavoidable;
lets have a drink.
-Seneca the Elder
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5296
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1278
Contact:

Re: Photorealistic Rendering - Engine or artist?

Post by dark_sylinc »

HeWhoSurvives wrote:how much of the photorealism is due to the artist vs the engine?
It is both. Make sure you read those two posts.
sub-surface scattering directly supported?
Well, SSS mostly shines for for human skin, particularly faces; and the video you linked to is all about rooms & furniture.
But to answer your question, we do not provide an SSS material out of the box yet, so you would have to write it yourself (or pay someone else to write yourself).

Very few games actually use SSS for characters, and those who do often only use it during cutscenes (and maybe use a lower quality SSS shader for gameplay)
HeWhoSurvives wrote:Most importantly, is this something that I could recreate in Ogre?
Ogre 2.1 supports all the features to make a scene of similar quality like the video you posted since that video showcases:
  • PBS
  • Point & Spot lights
  • Maybe a few area lights (we don't support those out of the box)
  • Shadows
  • SSAO
  • SSR (Screen Space Reflections)
  • Parallax Corrected Cubemaps (reflections)
  • Possibly some Global Illumination solution (we provide Instant Radiosity and Irradiance Volumes)
  • HDR and Bloom
  • DOF (Depth of Field). We don't provide a DOF postprocess out of the box but writing one is relatively easy and there's several samples online.
So, out of all the features I see in the video, we don't support two, and one of them is trivial. Technically speaking you can achieve that level of realism with Ogre.
Beware Ogre is a rendering engine, not a game engine; which means you need a bit higher level of technical expertise to glue & setup the components together, whereas UE4 you don't have to know programming to use it.
But whether you're good at setting up a good lighting, camera angles, choosing the right colour combinations, prepare proper models; that's up to you. Checkout the first 2 links; it points you to resources to learn colour theory, principles of animation and some lighting setup tutorials. Practice makes perfect.

Cheers!
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: Photorealistic Rendering - Engine or artist?

Post by frostbyte »

i'm not an artist so i can't really judge the artistic side of this demo, but anyway it looks like a very low-poly scene
i remember when this demo made waves https://www.youtube.com/watch?v=Y6PQ19BEE24 and got me depressed about the ogre vs unreal thing :lol:
so i digged up a bit and found that its probably all pre-baked, meaning all lights, shadows*,reflection* calculations- are baked into the scene textures( by unreal editor using a 3rd party ray-trace renderer** )
so this kind of demos are good for static scenes with static lights where you can move the camera around the scene

this of-course doesn't mean that unreal is not more capable than ogre or the other way around( in terms of graphics )
but my guess is that once you have all the stuff baked into the scene you can even render it with libGDX

*not sure on this ones- it was just a speculation/assumption....
**- i forget the name...but its something resembling blender cycles renderer
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
xrgo
OGRE Expert User
OGRE Expert User
Posts: 1148
Joined: Sat Jul 06, 2013 10:59 pm
Location: Chile
x 168

Re: Photorealistic Rendering - Engine or artist?

Post by xrgo »

I really think we need an"Extreme cool eyecandy" scene demo... maybe Sponza with all the effects/features used in the same example!. Sure Unreal makes it easy (many tools), but Ogre its definitely capable of 99% of this things.
HeWhoSurvives
Kobold
Posts: 26
Joined: Fri Jul 28, 2006 3:57 pm
x 1

Re: Photorealistic Rendering - Engine or artist?

Post by HeWhoSurvives »

My primary interest is for use with robotics/AI simulation. I need something that is as photorealistic as possible while rendering as fast as possible and allowing procedural control of rendering output (mostly rendering to file) to get depth information/per pixel object tags, etc.

If it is possible to achieve that level of realism with Ogre3d, I would really appreciate any sort of guide as to how. Even the PBR demo doesn't really seem to reach the level of realism present in Panda3d's RenderPipeline project (https://github.com/tobspr/RenderPipeline) or many of the commercially available asset packages in UE4 (such as https://www.youtube.com/watch?v=7zmKeMekDyU). If prebaking the lights into textures using an external raytracer for static scenes is key to getting photo-realistic results, that is something I would love to try doing. I just have no idea how (relatively experience C/C++ programmer with background in networking/robotics and computational geometry).

I would second the request for a showcase demo. I would love to see what Ogre3D could do.
Death's unavoidable;
lets have a drink.
-Seneca the Elder
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5296
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1278
Contact:

Re: Photorealistic Rendering - Engine or artist?

Post by dark_sylinc »

We don't have an eye-candy demo unfortunately, but you can take a look at what other users have been doing with Ogre 2.1:
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: Photorealistic Rendering - Engine or artist?

Post by frostbyte »

I need something that is as photorealistic as possible

when trying to achieve photorealism there are main two factors to be considered: assets quality and rendering quality
the assets quality has nothing to do with the renderer and we can't help you on this beside pointing you to one of hundred of web-site that provide 3d assets https://sketchfab.com
the "commercially available asset packages in UE4" were made with other software not with unreal, i bet you can even convert them to ogre with some effort and help from https://www.blender.org

for guide on how to achieve photo-real looking scene you should really check into CG-artists web sites(e.g blender community)
this forum is mainly about Ogre and software developing, its a bit out of stretch to deal with this stuff here...
PBR demo doesn't really seem to reach the level of realism present in Panda3d's RenderPipeline project
yeah, its a cool project, i've mentioned it a few time here
i must say that since i've discovered it dark_sylinc made some huge advancement with ogre's rendering pipeline and ogre is catching up quickly in pipe-line feature's( there are still some features on the TODO list e.g area light etc)
there are hundreds of way to calculate light and shadows, each give slightly different results and performance
ogres team always needed to choose on which horse to bet in a rapidly changing environment where each day someone comes up with "i've got a new way to..." and i think dark_sylinc is focusing on getting ogre to run stable and super-fast on most-hardware levels
in this sense in worth mentioning that pandas RenderPipeline is experimental external panda project, mainly targeting mid to high-end gpu's( my nv 660m almost burned when trying the demos ) it's tobspr pet project and not a main-stream panda feature
i've found some other RenderPipeLine like pet projects on the web, they are all very impressive, but well...they are not OGRE :wink: e.g http://armory3d.org
My primary interest is for use with robotics/AI simulation.
so you want us to waste time building an eye-candy demo only so that your dumb AI could enjoy it??? :lol:
i also come from AI and machine-vision and i must say that i've never heard of in this field a need to produce synthetic data that looks 100% real in order to feed your dumb AI
after all, dumb AI is supposed to be good at learning extracting and matching features on "noisy" uncertain environments
don't know what you're working on( sounds interesting :wink: ) but maybe you should reconsider what your AI really needs to eat

anyway in the world of CG its always a balance of quality vs performance, even more so when trying to fake Reality's rendering engine( powers by photons and stuff )
if your looking for max quality you might find this interesting...
https://home.otoy.com/render/brigade/ ( this demos run on 6 connected titan cards )
otherwise i think OGRE is a very capable scene rendering engine that runs very fast even on integrated gpu's
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
HeWhoSurvives
Kobold
Posts: 26
Joined: Fri Jul 28, 2006 3:57 pm
x 1

Re: Photorealistic Rendering - Engine or artist?

Post by HeWhoSurvives »

First off, I do not mean to criticize the work that has been done with 2.1. I am merely trying to figure out how to build a system that will meet requirements on a constrained time budget.

It may be possible to port assets from UE4 and I would be interested in learning how that could be done. As it stands, it seems difficult to get assets into/out of Ogre3D (though I am sure that will get easier as OgreMeshTool advances).

The reason that an eye candy demo could be useful is twofold.

1. When choosing a library or framework to use, it is extremely useful to be able to talk to management and say "if we use this project, it has the features already to allow us to make graphics on the level of X". Projects like UE4 and Unity have a bunch of show case examples showing what is high end and how these results can be achieve (even if some of them cheat). If you are talking to a non-programmer business person, examples like the previously mentioned apartment demo will definitely come up in the conversation.

2. Showing the programmer how to do it. Ogre has many different features and most of the 2.1 demos focus on demonstrating just one. This is good because it allows you to try to isolate what needs to be done to get a particular feature. However, it does not demonstrate very well how to combine these features to get a near photo-realistic result. As someone new to graphics programming, it would be extremely useful to know which (of the many available options) should be used for anti-aliasing, shadows, etc.

Concerning AI consumption, it is true that less good graphics may suffice for certain applications. It also may not. Currently, nobody knows.... and it would be good to see. Regarding the eye-candy demo, the agent would not be interacting with the eye-candy demo at all. It would just be a great example of how to get photo-realism which would be used in other applications. (working on PhD thesis, if it gets published I would be happy to share).

Thanks!
Death's unavoidable;
lets have a drink.
-Seneca the Elder
frostbyte
Orc Shaman
Posts: 737
Joined: Fri May 31, 2013 2:28 am
x 65

Re: Photorealistic Rendering - Engine or artist?

Post by frostbyte »

all of your points are valid, but if you dig the forum you'll see lots of discussion were made on both points 1 and 2...
1) ogre is free open-source project it does'nt have the financial means to compete with unity and unreal on the hearts of senior executives, instead the team focus on features and stability
being a premissive open source project is its biggest sell point when comparing to a commercial engine
ogre1.x had huge adoptaion within the acadamy, simulation and gaming industry, many established projects use it( e.g ROS )
damm i even found lately why nasa's space ships keep crashing https://ntrs.nasa.gov/search.jsp?R=20120006641 :oops:

2) the uber-demo idie was discussed, and it was decided almost unanimously( by active forum users ) that small self contained demos that will show 2.1 special features would be much more rewarding to people who are actually using ogre( aka- devs )
throwing a newbie into a massive pile of code is not very welcoming and i don't think it would help in learning ogre
beside that, photo-realism is not every ogre user goal, some go exactly the other way around( cartoonish/anime style )
you can't please everybody, thats why it was decided to focus on helping users to port from 1.x rather then fighting unity for ""customers""
As someone new to graphics programming, it would be extremely useful to know which (of the many available options) should be used for anti-aliasing, shadows, etc.
lots of resources on the web for this, its not ogre specific, all the algo's are known and published, each engine implements a mixture of rendering algos that fit it needs and constraints

i'd like to repeat what dark_sylinc said about the original question:
its both
knowing how to use ogre features on its own would not bring you to produce photo-realistic scenes, you have to consult movie industry and cg artists resources

so buttom line for now is: yes, we would all love to have a knock-out mouth dropping demo, but for now Ogre team doesn't have time or budget for it
I am merely trying to figure out how to build a system that will meet requirements on a constrained time budget.
if you tell us what you need we might have a chance to help, other wise we have no idie if ogre can fit your needs better or worse then other engines
generaly speaking:
unity is for c# targeting indie developers, with lots of going through menus and buttons, it should be easier for novice in cg since it has a huge assests store( mostly paid assests and plugins )

unreal is a beast engine( you'll need a beast computer and gpu to run it without suffering ) with all the bells and whistles
i think its targeting more to artist and studios/big names,inspite of this due to its huge scale its said to have high learning-curve

ogre3d: its not a game engine!!! its a rendering engine library in c++, very stable fast and advanced, with no editor and you are right about ogre's poor Art pipeline, it is also lot of work - building compiling linking to other libs etc...and the learning curve is slow, but you get much more control, you get to understand the software you are writing and you learn a lot of stuff during the (painful) process, which i doubt that you can learn by clicking "make funky shadows" button in unity/unreal

btw: this just came out: https://www.blendernation.com/2017/06/0 ... ng-engine/
the woods are lovely dark and deep
but i have promises to keep
and miles to code before i sleep
and miles to code before i sleep..

coolest videos link( two minutes paper )...
https://www.youtube.com/user/keeroyz/videos
Post Reply