Just some morning prettiness for your day (Off-Topic)
by Mid7night , Rocket BSCHSHCSHSHCCHGGH!!!!!!, Tuesday, November 26, 2013, 10:13 (4021 days ago)
I wish I could start every day with a flight like this, but I'll take what I can get. :)
A few screenshots from the flight as well: http://t.co/JG7SwVAX5b
Beautiful sunrise - thanks for sharing!
by Beorn , <End of Failed Timeline>, Tuesday, November 26, 2013, 10:46 (4021 days ago) @ Mid7night
Also, I was mesmerized by the environmental reflections on the wing. :)
Real life has the best skyboxes & cube maps ;)
by Mid7night , Rocket BSCHSHCSHSHCCHGGH!!!!!!, Tuesday, November 26, 2013, 11:08 (4021 days ago) @ Beorn
- No text -
Real life has the best skyboxes & cube maps ;)
by Veegie, Tuesday, November 26, 2013, 12:38 (4021 days ago) @ Mid7night
Looks more like 2.5D raymarching to me.
I love when you talk nerdy to me
by Beorn , <End of Failed Timeline>, Tuesday, November 26, 2013, 15:14 (4021 days ago) @ Veegie
I knew ray casting, but I had to look up raymarching. Sounds processor-intensive…
Sort of.
by uberfoop , Seattle-ish, Tuesday, November 26, 2013, 20:37 (4021 days ago) @ Beorn
edited by uberfoop, Tuesday, November 26, 2013, 20:41
I knew ray casting, but I had to look up raymarching. Sounds processor-intensive…
If by "2.5D ray marching", you're referring to screen-space reflections a la modern games such as KZ:SF, they're in the middle of a complex tradeoff.
The cheapest way to approximate a perfect specular reflection is to use a pre-baked reflection image. Obviously baked cubemaps have a ton of issues; they don't react to dynamic objects, and the environment reflected off of objects doesn't parallax completely properly as you look at the surface from different locations.
There's a rock-solid fix to this: rather than pre-baking the reflection, render it in real-time. This is obviously very expensive; there's not a lot of difference between rendering your scene and rendering a reflection. The cost of rendering a reflection also increases as the graphics become more complex, so it doesn't necessarily become easier as hardware gets more powerful; the tradeoffs you'd have to do to get the effect today are comparable to those you'd have ten years ago.
Games rendering reflection maps in real-time often use lower resolutions, lower framerates, and/or downgraded effects in the reflections.
GPUs have enough bandwidth and programmable computational power nowadays that a compromise is available. If you have reflective surfaces, cast a ray at them and see where it bounces to in screen-space. If the ray bounces onto another object visible on-screen, you can reflect that object off of the reflective surface. This method becomes more costly as resolutions increase (since you're calculating rays for more pixels), but not so much as graphics become more complex (the rays can be cast the same regardless of how snazzy the visuals are). So in an era where GPU power is increasing faster than resolution, it winds up becoming an attractive approach over time (which it's what's happening now).
The big downside is that you can only reflect things in screen-space. There are a lot of games using screen-space reflections which wind up looking like garbage when objects at the edge of the screen are being reflected; things start wiping in and out on surfaces. Usually when no object to reflect is found, the game tries to cover this up by switching to reflecting a cubemap, but this solution usually isn't very perfect (look at the water)*.
*By the way, let's put this into perspective. That that is "the most graphically impressive game evar" running on a $3000 PC, failing horribly on reflection types that games were executing beautifully over a decade ago. For a technique that's just now being popularized (for understandable reasons, admittedly), it's insane how artifacty screen-space reflections are.
I love watching people talk shop.
by INSANEdrive, ಥ_ಥ | f(ಠ‿↼)z | ᕕ( ᐛ )ᕗ| ¯\_(ツ)_/¯, Tuesday, November 26, 2013, 21:51 (4021 days ago) @ uberfoop
I knew ray casting, but I had to look up raymarching. Sounds processor-intensive…
...
The big downside is that you can only reflect things in screen-space. There are a lot of games using screen-space reflections which wind up looking like garbage when objects at the edge of the screen are being reflected; things start wiping in and out on surfaces. Usually when no object to reflect is found, the game tries to cover this up by switching to reflecting a cubemap, but this solution usually isn't very perfect (look at the water)*.
*By the way, let's put this into perspective. That that is "the most graphically impressive game evar" running on a $3000 PC, failing horribly on reflection types that games were executing beautifully over a decade ago. For a technique that's just now being popularized (for understandable reasons, admittedly), it's insane how artifacty screen-space reflections are.
You can gain so much incite from it - particularly if its on a enjoyable topic. Uberfoop - forgive me as I flail in possible ignorance, but isn't an alternative to what you just described physically based rendering? Am I right in thinking that or should I find some sand?
(I ask because its what I'm currently teaching my self to understand, using the game "Rememeber Me" as visual reference)
I love watching people talk shop.
by uberfoop , Seattle-ish, Tuesday, November 26, 2013, 22:32 (4021 days ago) @ INSANEdrive
edited by uberfoop, Tuesday, November 26, 2013, 22:43
so much incite
Yes, it's amazing what the angry flailings around in graphics wars old and new can incite ;)
Incidentally, I'm drafting up a potential NeoGAF thread OP right now, in which I'm planning on explaining why people saying "more rendering resolution after <such-and-such> distance isn't noticeable" are usually completely wrong. It's probably stupid console war garbage when all's said and done, but the electrical engineer in me cares too much about understanding of sampling frequencies and such.
Uberfoop - forgive me as I flail in possible ignorance, but isn't an alternative to what you just described physically based rendering? Am I right in thinking that
"Physically-based" does not describe any particular set of shading techniques. It just means that you're using the real-world characteristics of light as a basis for how aspects of your shading model work. How precisely real-world physics get applied (i.e. if you get reflections by literally accounting for multiple bounces of light rays) is another matter.
That said, screen-space reflections are maybe more likely to show up with "physically-based" models than real-time reflection maps are, since you can more easily justify screen-space reflections on the basis of light-bouncing behaviour. From the perspective of physics, rendering the image from another angle and pasting it on a surface is a bit of a hack (even though it's often more expensive and can give results that are more accurate).
So... what's the big deal with physically-based rendering? Smoothness of game development, mostly. When you're basing things on realistic models rather than on what "just looks right", you can get predictable results by setting up materials with realistic properties.
With a non-physically-based approach, you might do some funny business with a potato pixel-shader that makes potatos look very realistic under your game's noon-day sun... but then the character picks up a potato, walks inside, and suddenly the stupid thing is shining like some sort of messed-up eggplant. Regardless of how precisely your game approximates reality in the results, inaccuracies in the model relative to real-world behaviour make things less predictable. Generating new content can be more work, and you might have to tweak things more later on.
Sort of.
by Beorn , <End of Failed Timeline>, Wednesday, November 27, 2013, 11:51 (4020 days ago) @ uberfoop
Games rendering reflection maps in real-time often use lower resolutions, lower framerates, and/or downgraded effects in the reflections.
Interesting that you say this, because I was taking notice of the low-res reflections in Forza 5 the other day. I drive with the "hood" view to maximize visibility, and the Subaru rally car I'm currently driving has an absolutely massive hood. When I'm driving that car, a solid 1/3+ of my screen is reflection, and the reflection mapping isn't particularly flattering on that much real estate. (Also, it can get disorienting when that much of the frame is doing the opposite of what the top half is doing!)
I'll have to watch the video later; the Starbucks WiFi falls apart when I try to watch it at any sort of usable size.
:)
by breitzen , Kansas, Tuesday, November 26, 2013, 12:33 (4021 days ago) @ Mid7night
Very pretty!
Was that just a go pro on there? Do you have to worry about the extra weight of the camera on the plane when it flies?
:)
by Mid7night , Rocket BSCHSHCSHSHCCHGGH!!!!!!, Tuesday, November 26, 2013, 17:59 (4021 days ago) @ breitzen
Very pretty!
Was that just a go pro on there? Do you have to worry about the extra weight of the camera on the plane when it flies?
Yes, and yes. But it has a big wing, so I basically just had to fly a little slower and a little more careful.
Gorgeous video! Very cool.
by ncsuDuncan , Wednesday, November 27, 2013, 11:34 (4020 days ago) @ Mid7night
I always love hearing about your RC planes. :)
Highlight video with music!
by Mid7night , Rocket BSCHSHCSHSHCCHGGH!!!!!!, Wednesday, November 27, 2013, 21:53 (4020 days ago) @ ncsuDuncan
I cut together a highlight reel from the ground and aerial footage, and picked out some music to keep things moving... :)