Sand Rendering in Journey
Вставка
- Опубліковано 23 лют 2018
- In this 2013 GDC session, thatgamecompany's John Edwards covers all the technical details of the final sand implementation in Journey, and in the process, cover thatgamecompany's approach to graphics in general.
Register for GDC: ubm.io/2gk5KTU
Join the GDC mailing list: www.gdconf.com/subscribe
Follow GDC on Twitter: / official_gdc
GDC talks cover a range of developmental topics including game design, programming, audio, visual arts, business management, production, online games, and much more. We post a fresh GDC video every day. Subscribe to the channel to stay on top of regular updates, and check out GDC Vault for thousands of more in-depth talks from our archives.
I'm not the only one that tries to make shaders by adding random multiplications to it, HELL YEAH.
it's the only way to shade 😎
@Ariel Garrett CAP
1990s: In order to simulate a 3D space, we have to be very careful with our code; CPU power is scarce.
2020: We have to render sand, let´s use 38 bit maps and 10 shaders.
To be fair, sand takes up 90% of the screen 90% of the time so you might as well use 90% of machines spare resources to render as beautifully as possible.
12:51 "To be a graphics programmer, you need neither intelligence nor competence."
Multiplying a normal distribution by 2 increases the standard deviation by that amount and so you see the histogram spread out as was mentioned.
Love this talk. I really wish I was a graphics programmer.
21:03 BEST MOMENT OF MY LIFE. LOOK AT HIS REACTION!
That sand in the game did look pretty awesome, especially on the remaster.
Is there a real difference ?
" I don’t like sand. It’s coarse and rough and irritating and it gets everywhere" -Anakin Skywalker :)
In a way, that proves Lambert is a fundamental model. It's not complete by any means, but is a decent model to get started off.
Yeah, I feel that.
Most of the time, when you think "hey, that looks terrible, changing literally anything makes it look better", it's promptly followed by "oh, if I change anything the performance is way worse" and you suddenly understand.
15:45 Oren-Nayar diffuse reflection shader.
shout out to the 1 second of evanescence at the end of the video 👌
Love it, even if i don´t know how to make things i make them one way or another.
Cool talk
Does anyone have the link to the blog post the questioner mentioned at the end?
How did they get the cloth effect onhe player? Does anyone know?
lookin good baby!!
So janky, I love it
janky???????????????
3:40
20:07 What the hell is an SPU?
Does he mean a geometry shaders? Framebuffers? Wtf?
It's the Synergistic Processor Unit, which is unique to the PS3's Cell architecture, I believe. At least, that's the only meaning I know of.
Oh fascinating thanks for the lead. I don't know why googling SPU didn't reveal that
I don't know the details of PS3 hardware, but now I kind of wish I did considering how much stuff seems to be rendered using these rather than the GPU in this game, and I assume a few other first-party titles.
The PS3 has a few SPUs (8, if memory serves). They are smaller sub-processors, for a lack of a better term. You could offload all sorts of things from the Cell to the SPUs. They also accessed memory in a very unusual way. They are exactly what made the PS3 so strange to work on. It also explains why some PS3 ports of multiplatform games didn't visually live up the to the Xbox 360. Rather than massively changing their game engine to take advantage of the SPUs, lots of devs just cut back the graphics a bit and ran the entire game from the main processor. Shamus Young has a great video explaining a possible reason Sony went with this design: ua-cam.com/video/FoGnDgqNGkk/v-deo.html
In the PS3 it's 7 SPEs, as one is disabled to improve yield), but there were other SKUs of Cell that had all 8 SPEs active. Interestingly enough in game mode, the hypervisor lives onto one of the SPEs, leaving the PPE and 6 SPEs available to developers.
The most comprehensive info I have found about Cell is this part of the documentation issued by Sony to Linux developers :
www.kernel.org/pub/linux/kernel/people/geoff/cell/ps3-linux-docs/CellProgrammingPrimer.html
It's really interesting, however it's geared towards system programming, and not game rendering stuff. It seems like there is indeed some additional memory management involved, and the SPEs can't be treated like regular CPU cores, instead you have to go through a separate API.
Hey... dude...
This video made me remember evanescence
What I got from this.. don't make a console exclusive.
him: *20 minutes of enlightened graphics programming discussion*
you: "HERP DERP CANSOLE WARZ LOL"
enlightened? LOOOOOOOOOOOOOOOOOOOOOOL
it sucks because many people will probably never play it because of the exclusiveness, including me
What I got about not making a console exclusive is the hardware not being capable of doing what you want and you have to pour money and time into making a facsimile of what you wanted. You could make it for PC as you want then cull it down for the console port and save time and money and have far more market available. Enlightened.
+JETWTF And not have the achievement of conquering the SPUs of the PS3's Cell Broadband Engine?