• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Development Discussion v
« Previous 1 ... 43 44 45 46 47 ... 116 Next »

Global Illumination
View New Posts | View Today's Posts

Poll: Would you like Global Illumination support?
Yes!
Yes--Ambient Occlusion
Yes--Ray Tracing
Yes--Photon Mapping
Yes--Other
No
[Show Results]
 
 
Pages (3): 1 2 3 Next »
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Global Illumination
02-17-2014, 03:05 PM
#1
BiggestFZeroXFan
Unregistered
 
Photo 
I couldn't find anything about adding global illumination to Dolphin.
Is anyone else interested in the addition of global illumination?
Examples of global illumination include:
1. Ambient Occlusion
2. Ray Tracing
3. Photon Mapping

I understand that current hardware wouldn't be able to ray-trace or photon-map Dolphin in real-time (Moore's Law tells me maybe 15 years from now), but it could be used when a game is paused to get an idea of what it'll look like in the near-future.
(I think that some NVidia cards support Ambient Occlusion for games that don't support them natively--using a software tweak--, but mine doesn't.)
Reply
02-17-2014, 06:11 PM
#2
NaturalViolence Offline
It's not that I hate people, I just hate stupid people
*******
Posts: 9,013
Threads: 24
Joined: Oct 2009
Have you done any sort of shader programming of this nature before? I could be wrong but somehow I get the feeling the answer is no. How do you plan to implement ambient occlusion in dolphin (the only practical option out of those listed above)?
"Normally if given a choice between doing something and nothing, I’d choose to do nothing. But I would do something if it helps someone else do nothing. I’d work all night if it meant nothing got done."  
-Ron Swanson

"I shall be a good politician, even if it kills me. Or if it kills anyone else for that matter. "
-Mark Antony
Website Find
Reply
02-18-2014, 05:29 AM
#3
ThorhiantheUltimate Offline
Member
***
Posts: 185
Threads: 4
Joined: Sep 2012
Uhmm, I cant even tell if hes asking FOR golbal Illumination, or if he's Volunteering to to it NV.

Ray Tracing and Photon Mapping I believe would be out of the question though right? I don't know to much about photon mapping, but Ray tracing is used in professional rendering applications isnt it, and is too intensive to pull off EFFECTIVELY in real time?
Find
Reply
02-18-2014, 04:03 PM
#4
lamedude Offline
Senior Member
****
Posts: 360
Threads: 7
Joined: Jan 2011
Ray tracing has been right around the corner for about 5 years now. Larrabee was suppose bring use ray tracing then when that got canned it was Fermi then when that didn't happen they moved to voxels hyped by Euclideon's unlimited detail engine.
Website Find
Reply
02-18-2014, 05:57 PM (This post was last modified: 02-18-2014, 05:57 PM by NaturalViolence.)
#5
NaturalViolence Offline
It's not that I hate people, I just hate stupid people
*******
Posts: 9,013
Threads: 24
Joined: Oct 2009
^This. Big time.

ThorhiantheUltimate Wrote:Uhmm, I cant even tell if hes asking FOR golbal Illumination, or if he's Volunteering to to it NV.

Neither can I. I think I may have jumped to an early conclusion. I'm leaning more towards "asking" now rather than "telling".

ThorhiantheUltimate Wrote:Ray Tracing and Photon Mapping I believe would be out of the question though right? I don't know to much about photon mapping, but Ray tracing is used in professional rendering applications isnt it, and is too intensive to pull off EFFECTIVELY in real time?

Yes. Like he said they're both way too slow. Not to mention pointless and stupid for an application like this.

As far as I know ambient occlusion post-processing shaders need access to the depth buffer. Which dolphin doesn't support. I could be wrong but I've never seen it done without it. While performance would be acceptable it would likely have a pretty hefty hit.

The nvidia implementation that he's referring to is a driver implementation that works with certain graphics engines and has to be configured differently by the driver software developers for each engine that it supports. As a result it generally only supports the more popular engines, and even then not always particularly well. I highly doubt it will ever be usable with dolphin due to all the weird stuff dolphins graphics backends do. The GPU listed in his profile specs does support this feature so I don't know why he says that it doesn't. In fact much older cards support it too.

Ambient occlusion is often either not considered a form of global illumination or is at best considered a very crude form of it.

As far as ray tracing goes I don't see that becoming common anytime soon (including in 10 years). Maybe I'll end up eating these words in 10 years, we'll just have to wait and see. It's pretty common to see stories on blogs and tech news sites about how real time ray tracing in video games is just around the corner. But I've been seeing them ever since I first got internet access a decade ago. And despite the fact that it's been possible for quite some time we haven't seen any AAA games make use of it. Why? Because the framerates and level of detail achievable with ray tracing tend to be MUCH lower than what is achievable with rasterization. Rasterization is just a much more efficient way of rendering graphics. Think of it as a set of optimizations that save a massive amount of computational resources for a minimal drop in maximum potential shading accuracy. Ray tracing can in theory allow for greater shading accuracy but so many trade offs have to be made to get the rendering times down to acceptable levels for real time use that it actually ends up being less accurate in most cases. Sure as GPUs get faster we won't need to make as many of these trade offs and ray tracing quality will improve, but so will rasterization. Which means no matter how fast GPUs get standard rasterization will stay ahead and allow for much greater detail to be achieved within a limited rendering timeframe. Ray tracing on the other hand will always be the method of choice for render farms where we have no problem waiting minutes or hours to render each frame.

A bit ranty. I should really stop writing and just go to bed. But I'm in way too deep at this point.: (Show Spoiler)
These articles about ray tracing being just around the corner tend to be written by the same people claiming that video games are extremely close to achieving film CGI level graphics. Something we've also been hearing since the 90s. And yet I'm still blown away by Jurassic Parks CGI as compared to any video game that exists today. Again the only way this could logically be true is if film CGI quality stopped improving while video game graphics continue to improve. Or perhaps they mean that the quality that film CGI has now will be achievable by future video game graphics engines.

I recall a recent article stating that avatar (the james cameron film) level graphics are just around the corner thanks to real time ray tracing. This particular article actually went to far as to say that it would be possible on 8th generation consoles. I won't link to them here since I don't believe in giving these people any more page views but you can google it if you're curious. Anyways the video game press ate it up despite it being an obvious load of horse shit probably only written to draw page views with a sensationalist title. Let's see how there claims stack up to basic math. Compare a typical render time per frame of professional ray tracing for movies (30-60 seconds) vs. rasterization using a high quality renderer in a video game (8.33-16.66 ms). For this example I chose to use avatar due to the availability of detailed documents about the rendering process and equipment they used and the popularity of the movie giving it more exposure to the press. In this example the difference in frame render time is 4,000x. Which is not unusual. Of course the level of detail in the movie is going to be phenomenally higher. Partly due to the accurate shading and partly due to the higher quality art assets. You must then factor in the difference in computational power of the render farm used to render avatar vs. a high end modern gaming desktop. The GPU configuration on the supercomputer used to render avatar is around 16,000 times as fast as todays top of the line desktops. So that gives you 64,000,000x once you've adjusted for throughput. Yes folks you would need a computer that is 64 million times as fast as todays top of the line desktops to render avatar in realtime at 60 fps using the native ray tracing engine without any optimizations/hacks. Assuming moores law continues at its current pace forever (impossible but let's just say it does) that's 52 more years, not 10-15. We're a long way off from the computation power needed to meet these claims. And in the future films will have even better CGI. Now you could say that with optimizations for real time rendering this would be possible with a lot less computational power. And that's true. But not without sacrificing some visual accuracy. So the result wouldn't really be comparable to film CGI if you did that. And this is without even mentioning the billions of dollars it would take to build a video game with art asset and animation quality comparable to a hollywood film which no publisher could afford. That's a whole other reason why this is not even remotely possible anytime soon let alone practical.

So yeah, don't believe the sensationalist fluff that these news outlets put out. They're just trying to get more page hits. Computers are amazing enough as they are without the need to add unsubstantiated crazy predictions about the future that will end up being wrong 90% of the time. It's much better to just ask the people who do this stuff for a living about it. These articles always seem to pop up around the time some big company needs to sell new hardware. And the source is usually directly involved with said company. Funny how that works isn't it? Most of the time when some new technology comes along (lamedude mentioned some of the ones I'm thinking of) promising to radically change everything simply sitting down for a few minutes and thinking critically about the claims will reveal how absurd they are no matter how much good press it gets. Often times the PR for the companies behind these technologies try to defend their position by bringing up all the radical successful technologies in the past that people claimed would never amount to anything. This is an absolutely worthless argument as for every one of these examples you can find a thousand situations that were the exact opposite. And there is no reason to believe that they will end up in the former category instead of the latter if they're using such worthless arguments to try and persuade consumers in the first place. Yeah I really hate it when corporate PR and the press work together to build up hype for products based on complete nonsense. And the press always seem to eat it up and spread it everywhere even if the claims about the product don't hold up to any sort of scrutiny because it's easier and it generates more business for them in both page hits and potential clients for ads (since a lot of these big tech companies advertise on the same sites making these articles).

Game devs and graphics programmers are divided over whether ray tracing will become a popular option with video games in the near future. But most of ones I've been following (which granted tend to be the more outspoken ones who bother to maintain blogs and such) tend to lean towards no for the reasons stated above.
"Normally if given a choice between doing something and nothing, I’d choose to do nothing. But I would do something if it helps someone else do nothing. I’d work all night if it meant nothing got done."  
-Ron Swanson

"I shall be a good politician, even if it kills me. Or if it kills anyone else for that matter. "
-Mark Antony
Website Find
Reply
02-19-2014, 12:55 AM
#6
AnyOldName3 Offline
First Random post over 9000
*******
Posts: 3,519
Threads: 1
Joined: Feb 2012
Two things:

1) The kind of rendering you've been calling rasterisation is called scanline rendering. As you should know (and probably do - you mentioned wanting to go to bed, so I'll just assume you were sleepy) rasterisation is converting a vector representation of a scene/image/whatever into a bitmap representation. As raytracing converts a vector representation of a scene/image/whatever into a bitmap representation, it, too, is a form of rasterisation.

2) You seem to be forgetting that Avatar was rendered at a much, much higher resolution than the 1080p used by most people for gaming due to the fact that it couldn't have noticeable aliasing even on a massive cinema screen. It also had to be rendered 3 times - once for the left eye and once for the right eye for 3D viewings, and then a third time for the 2D viewings, as just using one of the two angles from the 3D viewing would make everything look like it was filmed from an awkward angle. Taking this into account, we can probably shave a good few years off the 52 year estimate you gave.

I'm just nitpicking, though. You're still correct about it being decades away.
OS: Windows 10 64 bit Professional
CPU: AMD Ryzen 5900X
RAM: 16GB
GPU: Radeon Vega 56
Find
Reply
02-19-2014, 09:14 AM
#7
NaturalViolence Offline
It's not that I hate people, I just hate stupid people
*******
Posts: 9,013
Threads: 24
Joined: Oct 2009
AnyOldName3 Wrote:1) The kind of rendering you've been calling rasterisation is called scanline rendering. As you should know (and probably do - you mentioned wanting to go to bed, so I'll just assume you were sleepy) rasterisation is converting a vector representation of a scene/image/whatever into a bitmap representation. As raytracing converts a vector representation of a scene/image/whatever into a bitmap representation, it, too, is a form of rasterisation.

You are technically correct. The best kind of correct.

AnyOldName3 Wrote:2) You seem to be forgetting that Avatar was rendered at a much, much higher resolution than the 1080p used by most people for gaming due to the fact that it couldn't have noticeable aliasing even on a massive cinema screen.

That doesn't really effect the argument or the math since like you said lowering the resolution would impact image quality negatively. The article said avatar graphics so I'm using avatar graphics.

AnyOldName3 Wrote:It also had to be rendered 3 times - once for the left eye and once for the right eye for 3D viewings, and then a third time for the 2D viewings, as just using one of the two angles from the 3D viewing would make everything look like it was filmed from an awkward angle. Taking this into account, we can probably shave a good few years off the 52 year estimate you gave.

Nope. The number of times they rendered it does not effect render time per frame at all. Think about it.
"Normally if given a choice between doing something and nothing, I’d choose to do nothing. But I would do something if it helps someone else do nothing. I’d work all night if it meant nothing got done."  
-Ron Swanson

"I shall be a good politician, even if it kills me. Or if it kills anyone else for that matter. "
-Mark Antony
Website Find
Reply
02-19-2014, 09:45 AM
#8
degasus Offline
Developer
**********
Developers (Some Administrators and Super Moderators)
Posts: 1,827
Threads: 10
Joined: May 2012
I still haven't got what the hell this has to do with dolphin at all. As all of the wii/gs games renders by polygons, we also have to do it in this way. Funny fact, they could also implement some kind of raytracer, at least the native gpu is flexible enough to do so.
We don't emulate a 3d engine, we emulate a gpu, so we are only able to execute the original software, which just use polygons.
Find
Reply
02-19-2014, 10:06 AM
#9
NaturalViolence Offline
It's not that I hate people, I just hate stupid people
*******
Posts: 9,013
Threads: 24
Joined: Oct 2009
Well to be fair I did sort of bring it up:
NaturalViolence Wrote:How do you plan to implement ambient occlusion in dolphin (the only practical option out of those listed above)?

Pretty much my way of saying "ambient occlusion is the only one of these options that could actually be done". I didn't elaborate in case I might get the details wrong. Thanks for elaborating.

Ambient occlusion could in theory be added as a postprocessing shader if a few changes were made to the way dolphin uses them. So that option is technically possible. I think asmodean even discussed it in his fx shader suite for dolphin thread.
"Normally if given a choice between doing something and nothing, I’d choose to do nothing. But I would do something if it helps someone else do nothing. I’d work all night if it meant nothing got done."  
-Ron Swanson

"I shall be a good politician, even if it kills me. Or if it kills anyone else for that matter. "
-Mark Antony
Website Find
Reply
02-19-2014, 12:52 PM
#10
BONKERS Offline
Member
***
Posts: 82
Threads: 0
Joined: Jul 2012
As for Ambient Occlusion, Nvidia actually recently switched their built in SSAO method to HBAO+. Which is much nicer, more accurate(though still an approximation), and other things.


If you find the right flag though, many games actually will work with HBAO+.
Find
Reply
« Next Oldest | Next Newest »
Pages (3): 1 2 3 Next »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode