I REALLY love the way this is rendered, it's really fascinating to me and has a really cool perspective, and I noticed your rendering method has vertical perspective too rather than a flatter perspective achieved by Y-shearing in other 3D engines.
The rendering method is Ray Casting, but the effect is custom and doesn't have a name that I know of.
I'm shooting a ray out from every pixel in the viewport and doing hit detection on a grid of cubes. Then depending on the coordinates hit on a cube, I map those to 2D textures (wall, ceiling, floor) to determine the color of each pixel. I also darken the color the further it is from the player to give a sense of depth.
The grainy/static effect is actually a side effect of a performance improvement. Instead of calculating every pixel every frame, I only do some pixels per frame. This leaves a bit of an afterimage if you move the camera quickly, but I like the way it turned out. :)
← Return to Experiment
Comments
Log in with itch.io to leave a comment.
I REALLY love the way this is rendered, it's really fascinating to me and has a really cool perspective, and I noticed your rendering method has vertical perspective too rather than a flatter perspective achieved by Y-shearing in other 3D engines.
Thank you! It's not exactly great for performance, but kind of a neat little experiment. :)
Actually performs pretty well for me!
is there a chance you could tell me about how you got this effect or shader going in your Proof of Concept? or maybe its name if it already has one?
The rendering method is Ray Casting, but the effect is custom and doesn't have a name that I know of.
I'm shooting a ray out from every pixel in the viewport and doing hit detection on a grid of cubes. Then depending on the coordinates hit on a cube, I map those to 2D textures (wall, ceiling, floor) to determine the color of each pixel. I also darken the color the further it is from the player to give a sense of depth.
The grainy/static effect is actually a side effect of a performance improvement. Instead of calculating every pixel every frame, I only do some pixels per frame. This leaves a bit of an afterimage if you move the camera quickly, but I like the way it turned out. :)
Thank you! <3
is there an exit?
It's just a proof of concept, so unfortunately there is no exit. Sorry if you spent a lot of time looking for a way out!
AAAAW
you should make more backrooms games to play on browser