This BSDF is so simple but utterly insane. I don't think the guy who casually dropped that into the code out of nowhere was quite aware of how much this allows us to do.
Hi, author here :) I was aware that this is very powerful, as it is such a basic building block, but I have no idea what people will use it for. The original motivation was getting passes through a refraction for VFX, and I definitely thought about fancy perspective shifts like black-hole effects and lens simulations that should be possible with this. I did not anticipate the sort-of-parallax thing though.
@@david_for_you_ Hey, I can tell you, that I'll use it for architectural vizualisations. This is perfect for showing more realistic large scale buildings. Thank you so much.
@@hugoschumann1854 just curious, im using blender for archi work as well, what do you mean by this? you can already get orthographic representations with cameras although that was the first thing i thought of when i saw the video too
This is so so so useful: - This could be used for NPR lighting, portal from the complex geometry to a simpler mesh lit by it's own lights elsewhere in the scene out of view - TV screens without the need for packing video frames into a texture or post-render compositing - Fake deformation like the sphere in the video could be used to do that Inception effect of the city bending on itself without actually deforming tons of geometry for real - Cheaper character rig deformation by having low poly rigged geometry portal to a static high poly character
I wonder how something like this is going to impact the performance of a game. Instead of the usual parallax to use a similar technique and point to an actual 3D interior hidden somewhere under the map then apply this to multiple windows.
@@Kiwi-Araga for Path Tracing it's kinda straight forward, just involving an extra transparency path, but for Raster Rendering, I'm pretty sure this would involve either duplicating geometry, or having multiple cameras which separately render out the image. There are definitely reasons why this isn't normally done in that setting.
This is some Doctor Strange business. If Render Textures are flat projections of what a camera sees onto a plane or a polygon(s) of a model, then Ray Portal BSDF is like turning a plane or a polygon into its own camera and/or window. This is insane. We live in an era where this stuff exists.
@@Kiwi-Araga That's how Spider-Man 2 works on PS5, you have rooms in every building, and through those rooms you can see other rooms. They have NPC's moving around in them too. Of course things fall apart when you move around corners and the same room from two angles is two different rooms, but it's still incredibly effective. Spider-Man and Miles Morales had simpler parallax based system, but Spider-Man 2's solution is far more impressive. As for performance, it's able to do that with hundreds of instances at 60fps with ray-traced shadows and reflections on the glass. It's insane! Digital Foundry did a tech breakdown/discussion with one of the game's developers and although they don't show BTS, with a working knowledge of stuff like this, you can get the jist.
9:48 To save everyone from the whole having-to-use-drivers-to-undo-object-rotations-business, you can just use Texture's Coordinate's Normal output instead of Geometry's.
That's the main difference between them, Texture Coordinate's is object-space, a.k.a. it's invariant to object transforms, while Geometry's is world-space, so it changes as the object rotates.
wait a minute. you could literally plug in a height map into the vector math node you use to define the perspective. if you invert it, it will act as if the camera is looking "down" a different heights based on the displacement/height map.
finally it's possible to render a novel vantage point in the scene to a plane! You can make CCTV survelliance, portals and non-euclidian space illusions in a single render!
This would make it easier to animate 3D televisions without having to do separate rendering, saving hours... days... potentially weeks of rendering and post processing!
I've been waiting for something like this for so long, genuinely awesome- Especially since it'll allow for SUPER realistic black hole visualizations (stacked planes w/ some """velocity""" data baked into the texture itself)
HOLY HELL, I almost jumped up when I saw the moving preview of this video. I was like "I NEED THIS" Edit: I have so much ideas, this unlocked so much things for my adhd brain
This is great for so many things. The first thing I thought of was I wonder how this compares to the parallax method (like what you were building) for things like faux 3D rooms in windows, like you see in video games and stuff. With this version, you could create 5 or so rooms that you keep somewhere out of view, and make copies of this node tree that's mapped to look into each room, and put those texture on the windows. You might also want to make copies for each direction the windows face, because then it'll capture the sun lamp coming through the windows as well. This way you'd get nice, accurate lighting and real depth in the rooms, but it's essentially instancing and only calculating the lighting once and multiplying that for each window. Would be interesting to see the difference in quality vs performance. Also, being able to have actual portal and stuff is fantastic.
This is HUGE. Thanks a lot for the video. I've wanted to use this for so long but I didn't want to buy some add-on or get a PhD in Blender Nodes to get this effect.
I spent hours trying to fake this effect with the sky/environmental shaders. Since the old portal method with layers and composite tricks was lacking. But this is exactly what i needed.
This allows for crazy fast sprite generation, if you consider the cube+negative normal example. If that cube then was unwrapped to look like a sprite sheet, you could render all angles of a given srpite, at once. And if you used something like a n-sided cylinder, you end up with even more angles, at once. Kinda wild
What a coincidence... I'm currently enjoying and at the same time finding it confusing to play with the parallax effect in Blender, and then this video came out.
This is amazing. My question is how much does it help performance? Say I use it ith a building to replicate a 3d office on every single window of the building. Would it just process the one office and all the window polygons or would it also process the "new" offices that you can see with this node?
bro, this update gives the possibility for a robot being able to display anything AND I MEAN ANYTHING for its face eyes and just easily swap to something else, video, objects ANYTHING
That Incoming to Tangent space converter is quite nice and exactly what I was looking for. So I got a plane which is basically always looking down no matter how I move and rotate it. I just cannot figure out for the life of me how to rotate this view so that the plane is always looking to the left or always looking to the right, no matter how I move and rotate it. I tried it with Vector Rotate etc. but it mostly gives only distorted results.
OHHHH I'VE GOT IDEAS... 4:17 this just made me think not only could this be good for mapping images, windows or portals. it can also be a good way to create a TV effect where you have a monitor and have it display another part of the scene basically doing 2 things at once. (I don't believe in current versions for this to be possible however this Ray portal node will change SOOOO much)
Could you theoretically create building windows with this, perhaps linking to a geonode based interior off to the side? I wonder how the performance would do rendering that many instances.
In LightWave you can use a sphere (or any geometry witha UV map) and project outwards to make an HDR map, can you use this for that? It was a very useful feature
I actually made an addon for architecture that depends on classic parallax techniques with some spice , this trick will be insane if you can hide viewlayers for example and drive the rooms with geonode and create fake interiors but in realistic lighting all across the town for example !!! , holy spagetti it will be insane 😀
How are you able to track the location of the object you are viewing (e.g. Suzanne), if the object is moving. Position always points at 0,0,0 unless you modify it with something like an add node, so if you move Suzanne she disappears from the viewing zone of the portal. Using geometry nodes store the location as an attribute and plugging that attribute into the vector add node in the shader window doesn't seem to work.
I imagine this would make possible virtual cameras like we have in raster engines, where you can place a camera anyewhere in the scene and display what that camera sees on a surface, say a TV screen?
Can't we use this to make some sort of simulated camera inside blender? Then maybe use it to broadcast something else on a tv? better yet save said camera to use for all kinds of portal things? an empty as the center point, a plane as the end of the camera, and moving the plane would change the POV? Maybe probably?
It is really differend from parallax mapping anyway. You can't use this portal nodes for materials because image in the portal isnot affected by lights around the portal
I'm just getting into Blender (literally just made my first donut the other day), but this seems like it'd be a really simple (cheap) way to do a fake water simulation, yeah? Something like applying an animated wave distortion to the Ray Portal BSDF (or the plane's geometry) and caustics to the original geometry? It'd probably never offer the same realism as an actual water sim, but it seems like it'd do well for smaller, calmer bodies of water viewed from limited directions
You don't need to use vector rotate + drivers, instead use the vector transform node, to transform from world space to object space. Edit: Or as another comment said, use the normal from texture coordinates instead of geometry, which is in local space.
This BSDF is so simple but utterly insane. I don't think the guy who casually dropped that into the code out of nowhere was quite aware of how much this allows us to do.
Hi, author here :) I was aware that this is very powerful, as it is such a basic building block, but I have no idea what people will use it for. The original motivation was getting passes through a refraction for VFX, and I definitely thought about fancy perspective shifts like black-hole effects and lens simulations that should be possible with this. I did not anticipate the sort-of-parallax thing though.
@@david_for_you_ what a G! Im going to find where you live and kiss you!
@@david_for_you_ Hey, I can tell you, that I'll use it for architectural vizualisations. This is perfect for showing more realistic large scale buildings. Thank you so much.
@@hugoschumann1854 just curious, im using blender for archi work as well, what do you mean by this? you can already get orthographic representations with cameras although that was the first thing i thought of when i saw the video too
@david_for_you_ I missed the old cube maps from blender internal. This is like a supercharged version. If this comes to Eevee too I'll be so happy!
Portals in Bkender is something I've wanted FOREVER, to get a similar effect like the portal games
saaameeeee
This is so so so useful:
- This could be used for NPR lighting, portal from the complex geometry to a simpler mesh lit by it's own lights elsewhere in the scene out of view
- TV screens without the need for packing video frames into a texture or post-render compositing
- Fake deformation like the sphere in the video could be used to do that Inception effect of the city bending on itself without actually deforming tons of geometry for real
- Cheaper character rig deformation by having low poly rigged geometry portal to a static high poly character
I cannot wait to use this for building windows holy shit
I wonder how something like this is going to impact the performance of a game. Instead of the usual parallax to use a similar technique and point to an actual 3D interior hidden somewhere under the map then apply this to multiple windows.
@@Kiwi-Araga for Path Tracing it's kinda straight forward, just involving an extra transparency path, but for Raster Rendering, I'm pretty sure this would involve either duplicating geometry, or having multiple cameras which separately render out the image. There are definitely reasons why this isn't normally done in that setting.
This is some Doctor Strange business. If Render Textures are flat projections of what a camera sees onto a plane or a polygon(s) of a model, then Ray Portal BSDF is like turning a plane or a polygon into its own camera and/or window. This is insane. We live in an era where this stuff exists.
@@Kiwi-Araga That's how Spider-Man 2 works on PS5, you have rooms in every building, and through those rooms you can see other rooms. They have NPC's moving around in them too. Of course things fall apart when you move around corners and the same room from two angles is two different rooms, but it's still incredibly effective. Spider-Man and Miles Morales had simpler parallax based system, but Spider-Man 2's solution is far more impressive. As for performance, it's able to do that with hundreds of instances at 60fps with ray-traced shadows and reflections on the glass. It's insane! Digital Foundry did a tech breakdown/discussion with one of the game's developers and although they don't show BTS, with a working knowledge of stuff like this, you can get the jist.
That's how 3d skyboxes worked in older games. There was normally super small geo outside of the map that was blown up to be the skybox.@@Kiwi-Araga
This looks like one of those things thats a game changer but I’m too dumb to know why.
9:48 To save everyone from the whole having-to-use-drivers-to-undo-object-rotations-business, you can just use Texture's Coordinate's Normal output instead of Geometry's.
That's the main difference between them, Texture Coordinate's is object-space, a.k.a. it's invariant to object transforms, while Geometry's is world-space, so it changes as the object rotates.
how to use it?
wait a minute. you could literally plug in a height map into the vector math node you use to define the perspective. if you invert it, it will act as if the camera is looking "down" a different heights based on the displacement/height map.
Now you're thinking with portals!
finally it's possible to render a novel vantage point in the scene to a plane! You can make CCTV survelliance, portals and non-euclidian space illusions in a single render!
Losing my mind over this. Nodevember is gonna be a lot of fun
This would make it easier to animate 3D televisions without having to do separate rendering, saving hours... days... potentially weeks of rendering and post processing!
I was waiting for node like "image from camera", but this is so much better
honestly super exciting, not everyday that we are given such fundamentally mind-boggling different toy to play with
I've been waiting for something like this for so long, genuinely awesome- Especially since it'll allow for SUPER realistic black hole visualizations (stacked planes w/ some """velocity""" data baked into the texture itself)
I was thinking of something similar
You are a freaking genius, thanks for being so curious about things and thanks for sharing your discoveries with us :)
HOLY HELL, I almost jumped up when I saw the moving preview of this video. I was like "I NEED THIS"
Edit: I have so much ideas, this unlocked so much things for my adhd brain
I can't even fathom the possibilities, this is insane
This is like Render Textures on drugs. This is Render Textures redefined.
I have been asking for exactly this for years. This is great.
OMG this is stupid awesome! Thank you for sharing, I have so many ideas.
This is great for so many things. The first thing I thought of was I wonder how this compares to the parallax method (like what you were building) for things like faux 3D rooms in windows, like you see in video games and stuff. With this version, you could create 5 or so rooms that you keep somewhere out of view, and make copies of this node tree that's mapped to look into each room, and put those texture on the windows. You might also want to make copies for each direction the windows face, because then it'll capture the sun lamp coming through the windows as well. This way you'd get nice, accurate lighting and real depth in the rooms, but it's essentially instancing and only calculating the lighting once and multiplying that for each window. Would be interesting to see the difference in quality vs performance.
Also, being able to have actual portal and stuff is fantastic.
Thanks Mr default, this is insanely cool
Alright, gonna have to watch this atleast 3 times
Great vid i actually understood what was being said most of the time
keep up the good work👍👍
this is really cool im so glad i took the time to watch this
Neat! Maybe this could be used to make lenses?
Maybe this could be the way to proper refractive caustics in blender also...
Mind blowing. Brilliant!
This is HUGE. Thanks a lot for the video. I've wanted to use this for so long but I didn't want to buy some add-on or get a PhD in Blender Nodes to get this effect.
This is awesome!
In so early it's only available in 360p. :-) Great exploration of the new node!
Damn that's super cool!
LETS GOOOOO
Holy shit, this got so much potential!
Woaw !!! Thx for this video !!!
the tensors are evolving!
Awesome, so brilliant
That's AWESOME!
I spent hours trying to fake this effect with the sky/environmental shaders. Since the old portal method with layers and composite tricks was lacking. But this is exactly what i needed.
insane.... thank you!
This allows for crazy fast sprite generation, if you consider the cube+negative normal example. If that cube then was unwrapped to look like a sprite sheet, you could render all angles of a given srpite, at once. And if you used something like a n-sided cylinder, you end up with even more angles, at once.
Kinda wild
Oh my god! I can finally do 5d space in blender. Yay!
1:13 I hope Eevee next could render this types of node
This would be great for CCTVs.
BRO ive been wanting this for fucking forever!!
This also useful for create Forced Perspective 3D Billboards video content.
It’s tardis time guys
What a coincidence... I'm currently enjoying and at the same time finding it confusing to play with the parallax effect in Blender, and then this video came out.
Wait no fucking way this is amazing. I can do some INSANE stuff with this
This is amazing. My question is how much does it help performance? Say I use it ith a building to replicate a 3d office on every single window of the building. Would it just process the one office and all the window polygons or would it also process the "new" offices that you can see with this node?
You are the best
Welp! Here come liminal spaces and holographic interfaces :D
you could use this shader to create some really cool infinitely recursive things and i am SO hyped
Cubemaps in blender, neat.
bro, this update gives the possibility for a robot being able to display anything AND I MEAN ANYTHING for its face eyes and just easily swap to something else, video, objects ANYTHING
you could plug a height map into the vertical offset instead of using a single value for some interesting results
OH MY GOD THIS IS AMAZING this will make my projects 1000x easier
in what way? i dont get where to use it, no one is explaining
That Incoming to Tangent space converter is quite nice and exactly what I was looking for. So I got a plane which is basically always looking down no matter how I move and rotate it. I just cannot figure out for the life of me how to rotate this view so that the plane is always looking to the left or always looking to the right, no matter how I move and rotate it. I tried it with Vector Rotate etc. but it mostly gives only distorted results.
I would love to make a magnifying glass with this
this is the most mathematical blender tutorial I have ever seen
welcome to default cube - always makes me wish I studied maths 😅
Blender does a pretty good job at abstracting away the math if you don't use geometry nodes...
@@LIONFIGHTMUSICI did study math and kind of wish I studied math more... The maths are tight
this is HUGE for vfx.
Yes, I agree, VFX was the motivating feature for writing it
I've been making pokemon cards with a 3D effect and it's been a nightmare and with this it's going to be a godsend
OHHHH I'VE GOT IDEAS... 4:17 this just made me think not only could this be good for mapping images, windows or portals. it can also be a good way to create a TV effect where you have a monitor and have it display another part of the scene basically doing 2 things at once. (I don't believe in current versions for this to be possible however this Ray portal node will change SOOOO much)
Now we can make tv screen with broadcast😊😊😊
Thats's freakn great!
I wonder if this works with blenders scenes? PooOOOOOOooower!
2nd demoooOOOOooo?
👌👌👌
Could you use an empty to control where this portal is viewing? Figure it'd make it very useful for animation this effect!
just in time ☕
Could you theoretically create building windows with this, perhaps linking to a geonode based interior off to the side? I wonder how the performance would do rendering that many instances.
Now we're thinking with portals
now we just need to wait for someone to make a tardis model with this node.
In LightWave you can use a sphere (or any geometry witha UV map) and project outwards to make an HDR map, can you use this for that? It was a very useful feature
In Blender you can can do this with the camera itself. Set the Lens type to Panoramic and set the panorama type to equirectangular.
I actually made an addon for architecture that depends on classic parallax techniques with some spice , this trick will be insane if you can hide viewlayers for example and drive the rooms with geonode and create fake interiors but in realistic lighting all across the town for example !!! , holy spagetti it will be insane 😀
How are you able to track the location of the object you are viewing (e.g. Suzanne), if the object is moving. Position always points at 0,0,0 unless you modify it with something like an add node, so if you move Suzanne she disappears from the viewing zone of the portal. Using geometry nodes store the location as an attribute and plugging that attribute into the vector add node in the shader window doesn't seem to work.
I imagine this would make possible virtual cameras like we have in raster engines, where you can place a camera anyewhere in the scene and display what that camera sees on a surface, say a TV screen?
FUUUUUUUUUUUU!!!! thats a amazing!
nah thats crazy bro
game changer
Imagine if we can render lots of assets in a huge scene this way, hope it improves render times.
So this is going to be a bit above the pay grade.. ❤
Does this simplify the looking glass hologram type rendering at all?
Bruh, I've got to make a snow globe now....
Can't we use this to make some sort of simulated camera inside blender? Then maybe use it to broadcast something else on a tv? better yet save said camera to use for all kinds of portal things? an empty as the center point, a plane as the end of the camera, and moving the plane would change the POV? Maybe probably?
genius
Oh boi the quick&easy pipe for making psychodelic/surrealistic mindfucking stuff just droped xd
I'm a developer, and I'm astonished by your skills in math (for an artist LOL)
thank ya :)
When is that getting released in the main version?
It is really differend from parallax mapping anyway. You can't use this portal nodes for materials because image in the portal isnot affected by lights around the portal
I'm just getting into Blender (literally just made my first donut the other day), but this seems like it'd be a really simple (cheap) way to do a fake water simulation, yeah? Something like applying an animated wave distortion to the Ray Portal BSDF (or the plane's geometry) and caustics to the original geometry? It'd probably never offer the same realism as an actual water sim, but it seems like it'd do well for smaller, calmer bodies of water viewed from limited directions
Wow, it looks like those old-school “holograms”
I was literally wondering whether this kind of thing could be done in blender mere HOURS before you dropped this video wtf
yay mirrors
Whats the performance like? Is this as fast as instancing?
This is sick. My brain can not process.
4:13 Getting some serious stalker vibes
how does this work with noise
Please make a use case video for this node, i don't understand what people are soo happy about in the comments.
Will be able to fill out skyscraper windows in no time now.
You don't need to use vector rotate + drivers, instead use the vector transform node, to transform from world space to object space. Edit: Or as another comment said, use the normal from texture coordinates instead of geometry, which is in local space.
Could this work to render a plane showing a scene anstead of rendering the scene itself to reduce render time?
6:28 What did you just call us?
Whats the video called where he does the fake paralax?
maybe we can use it to make bootleg render-to-texture stuff for security cameras and the like