Making a Raycaster using Godot 4 Compute Shaders!

  Рет қаралды 17,059

Binary Soup

Binary Soup

Күн бұрын

#devlog #godot #godot4
Source Code: github.com/binary-soup/Raycas...
Today we reanimate the "raycasting" rendering technique popularized way back in 1992! We'll take advantage of Godot 4's new compute shaders, as well as implement a ton of cool rendering techniques! Enjoy!
Credits:
[1] (Wolfenstien footage) • Wolfenstein 3D Gameplay
[2] (Quake footage) • Original Quake (1996) ...
[3] (Raycast tutorial) github.com/vinibiavatti1/RayC...
[4] (Godot 4 compute shader) • How to use Compute Sha...
[5] (Godot 4 compute shader) • Learn GODOT 4 Compute ...
[6] (Spiderman parallax) • how this game made mil...
[7] (Parallax mapping tutorial + textures) learnopengl.com/Advanced-Ligh...
Music (in order of appearance):
- Shadowing ~ Corbyn Kites
- Smoke Jacket Blues ~ TrackTribe
- Hopeless ~ Jimena Contreras

Пікірлер: 60
@binary_soup
@binary_soup Жыл бұрын
Find the key hidden somewhere in the video then answer the cypher question: cipher.binarysoup.dev/?v=7-nOK0UrAzk
@binary_soup
@binary_soup Жыл бұрын
Adventure on the Atari 2600.
@emre5614
@emre5614 Жыл бұрын
Duck Hunt on some NES knock off. Also, when you're encrypting in the Vigènere cipher, you're not supposed to skip the spaces in the input text. So for example, HELLO THERE encrypted with the key "AB" would be "HFLMO UHFRF" and not "HFLMO TIESE".
@binary_soup
@binary_soup Жыл бұрын
@@emre5614 Thanks for the tip! I'll have to update my cypher script!
@willful759
@willful759 Жыл бұрын
Fun fact: older consoles called the processor that did graphics a Picture Processing Unit, so indeed, a PPU
@RadikAlice
@RadikAlice Жыл бұрын
A famous example would be the NES
@efeloteishe4675
@efeloteishe4675 Жыл бұрын
@@RadikAlice SNES not the NES
@RadikAlice
@RadikAlice Жыл бұрын
@@efeloteishe4675 The NES did too, don't be ridiculous
@emre5614
@emre5614 Жыл бұрын
The Godot Engine uses OpenGL style normal maps, but there is another format of normal maps (usually called DirectX style) that has the Y axis reversed. This may be the cause of the problem you mentioned around 23:58. Also, I loved the video! The overall production and effort that went into this video really paid off! This is a production quality I would expect from a way bigger channel! I feel like I stumbled on a hidden gem! Not just that but the vibes it gives off is awesome!
@Calinou
@Calinou Жыл бұрын
There's an option you can use in the Import dock to invert a normal map's direction (Normal Map Invert Y), so you don't need to edit the source normal map manually in an image editor.
@Myserval
@Myserval Жыл бұрын
adding parallax mapping to a raycaster is such a good idea! I really really like the cutaway gags/skits too, good stuff, really glad youtube dropped this in my suggestion feed
@SilverstringsMusings
@SilverstringsMusings Жыл бұрын
This channel has a lot of potential, here's a comment for the algorithm.
@D.S69
@D.S69 8 ай бұрын
same here
@dortuff
@dortuff Жыл бұрын
A video on compute shaders would be really helpfull. This video is also very cool I like the comedy mixed in with the main educational points.
@mr_diamond_gold9842
@mr_diamond_gold9842 Жыл бұрын
Your sophisticated raycasting algorithm is called DDA (Digital Differential Analysis) raycasting.
@unicorn_tamer
@unicorn_tamer Жыл бұрын
I am sorry, but how do you only have 500 subs?! This channel deserves a lot more!!
@bobfalfa-vg3jx
@bobfalfa-vg3jx 3 ай бұрын
Thank you for this video! I love raycasting engines but have struggled to find a high performance way to do it on modern systems. This is just what I needed to see. Thanks again and good luck on your future projects or part 2!
@CheckovStuff
@CheckovStuff Жыл бұрын
I've also been working on a raycaster in Godot. Very cool to see someone else using different methods to achieve similar results!
@tycho25
@tycho25 Ай бұрын
If I had a nickel for every youtuber I'm subscribed to that's a dude with long brown hair with a slapstick sense of humor who uses jazz as background music I would have 2 nickels
@Zurpanik
@Zurpanik 9 ай бұрын
This was a really cool video! Loved learning about this coolness especially after just recently migrating to Godot and loving it to pieces. Awesome stuff!
@RaposaCadela
@RaposaCadela Жыл бұрын
Incredibly cool!! Look infinitely better than my attempt a while back
@bratworst
@bratworst Ай бұрын
This is how I found out about the tan distortion effect. Thank you
@gnitsaf
@gnitsaf Жыл бұрын
this is an awesome video. great job.
@psyboyo
@psyboyo Жыл бұрын
Great video, congrats!
@smallconfusion8840
@smallconfusion8840 Жыл бұрын
I would love to see a tutorial. I haven't been able to quite wrap my head around compute shaders.
@tankerguy05
@tankerguy05 8 ай бұрын
I just started using Godot, but I'm not new to gamedev. I've been wanting to make a raycasting game with python/pygame, but I'm finding it hard to understand the math. I thought I'd give Godot a try, not just for raycasting, but for gamedev in general. I thought I'd look up how easy it would be to implement raycasting in Godot, and to be honest it doesn't seem any easier. And since I'm new to Godot, and suck at any math past pre-algebra, I didn't understand a lot of this video, but it was still enjoyable to watch, and the end result looks really good.
@breadman7733
@breadman7733 Жыл бұрын
awesome video ! Thank you
@iaso514
@iaso514 Жыл бұрын
Great video! Loved the explanation and the jokes ❤
@MaplePolicy
@MaplePolicy Жыл бұрын
Incredible video!!!
@mani_mincraft
@mani_mincraft Жыл бұрын
Great video! I want more of these lol
@americanhuman1848
@americanhuman1848 Ай бұрын
made a raycaster and the first texture i tested was the classic source engine missing texture and it was in fact a trippy optical illusion
@sebbl580
@sebbl580 Жыл бұрын
very cool video 👍
@CyTic5
@CyTic5 Жыл бұрын
Really cool.
@tommycard4569
@tommycard4569 Жыл бұрын
good vid, thx!
@jamesrivettcarnac
@jamesrivettcarnac Ай бұрын
Compute shaders!
@jimsantus8927
@jimsantus8927 3 ай бұрын
is this more faster than the acutal 3d godot?
@nika_251
@nika_251 Жыл бұрын
Ure the goat
@cjdaylight3407
@cjdaylight3407 Жыл бұрын
can you post about doom style rendering
@crimester
@crimester Жыл бұрын
you should try sdfs next
@MrSkeleton14
@MrSkeleton14 4 ай бұрын
Too much math for my tiny brain
@cjdaylight3407
@cjdaylight3407 Жыл бұрын
If we can use cpu for ray casting why we should not use cpu
@binary_soup
@binary_soup Жыл бұрын
You can use the cpu, but it's just generally too slow to achieve good frame rates. The GPU by comparison is magnitudes faster since it runs graphics calculations in parallel.
@cjdaylight3407
@cjdaylight3407 Жыл бұрын
@@binary_soup Thats seems right But we cane maybe give liltle bit calculation job to cpu and send results to gpu there is new tech Smart Acses Memory maybe it can do job
@slvrcross
@slvrcross Жыл бұрын
I'm gonna come
@bl8de3
@bl8de3 Жыл бұрын
hello i love you
@MyAmazingUsername
@MyAmazingUsername Жыл бұрын
Gray cats are cool but why didn't you just make a real 3D world and a shader and unfiltered texture sampling to make it look like old raycasting? That would allow you to have actual 3D shadows and lighting in your world too, and you could use models or sprites for enrmies. Very fun to watch your progress though. Very good editing. Fun stuff. Subscribing!
@binary_soup
@binary_soup Жыл бұрын
I do have plans for a second part where I'll implement some cool stuff that would be very difficult in a traditional rendering engine, but fairly effortless in a raycaster. So yes there is a reason why I choose to use raycasting, but in retrospect I guess didn't really explain why in the video 😅.
@MyAmazingUsername
@MyAmazingUsername Жыл бұрын
@@binary_soup Oh, I look forward to seeing that! :) Good luck with the continuation of the engine!
@ttmso
@ttmso Жыл бұрын
i like how he uses ai, also what ai?
@GreenFox1505
@GreenFox1505 Жыл бұрын
Godot isn't called GoDot.
@nigeladams8321
@nigeladams8321 8 ай бұрын
You understood what they meant
@PeterMilko
@PeterMilko Жыл бұрын
just use Unity :P
@mr_sauce_cooks
@mr_sauce_cooks Жыл бұрын
Why?
@PeterMilko
@PeterMilko Жыл бұрын
@@mr_sauce_cooks It would make it easier and better looking
@nigeladams8321
@nigeladams8321 8 ай бұрын
Why would it be?
@PeterMilko
@PeterMilko 8 ай бұрын
because its a 3D game engine made for this stuff...@@nigeladams8321
@user-og6hl6lv7p
@user-og6hl6lv7p Ай бұрын
Just let corporation steal your content bro.
Optimizing my Game so it Runs on a Potato
19:02
Blargis
Рет қаралды 494 М.
Answering Your Questions
29:12
Sebastian Lague
Рет қаралды 308 М.
New model rc bird unboxing and testing
00:10
Ruhul Shorts
Рет қаралды 23 МЛН
Red❤️+Green💚=
00:38
ISSEI / いっせい
Рет қаралды 77 МЛН
Clown takes blame for missing candy 🍬🤣 #shorts
00:49
Yoeslan
Рет қаралды 38 МЛН
An introduction to Raymarching
34:03
kishimisu
Рет қаралды 128 М.
What Is A Graphics Programmer?
30:21
Acerola
Рет қаралды 397 М.
I Made An Unbeatable Game Pigeon AI
5:53
JoeCoup
Рет қаралды 14 М.
3 Devs Make An FPS - Godot vs Unity vs Unreal || GameDev Battles
12:39
Learn GODOT 4 Compute Shaders with RAYTRACING!!
12:40
NekotoArts
Рет қаралды 28 М.
How Do Games Render So Much Grass?
15:52
Acerola
Рет қаралды 322 М.
I made this 3D game with ONLY code
9:06
Carter Semrad
Рет қаралды 435 М.
Tweens in Godot 4 Are Amazing!
16:27
Chaff Games
Рет қаралды 15 М.
Simulating 100K Boids with Compute Shaders in Godot - Part 1
29:49
Красиво, но телефон жаль
0:32
Бесполезные Новости
Рет қаралды 1,4 МЛН
САМЫЙ ДОРОГОЙ ЧЕХОЛ! В стиле Mac Pro
0:35
Romancev768
Рет қаралды 187 М.
Rate This Smartphone Cooler Set-up ⭐
0:10
Shakeuptech
Рет қаралды 1,2 МЛН
НЕ ПОКУПАЙ СМАРТФОН, ПОКА НЕ УЗНАЕШЬ ЭТО! Не ошибись с выбором…
15:23
Как распознать поддельный iPhone
0:44
PEREKUPILO
Рет қаралды 2,1 МЛН