Procedural 3D Engine. Ray Marching OpenGL Tutorial

  Рет қаралды 38,349

Coder Space

Coder Space

Күн бұрын

Python OpenGL Tutorial on creating Procedural 3D Graphics Engine using the Ray Marching technique. To work with OpenGL, the Python language and the ModernGL module will be used, and all the main work will take place in a Fragment Shader in GLSL
Project code:
github.com/Sta...
Link to file with SDF functions:
mercury.sexy/hg...
Inigo Quilez (All the most useful for Ray Marching):
iquilezles.org...
#coderspace #python #opengl #raymarching #moderngl
#programming #coding #programmer #developer #technology #code

Пікірлер: 50
@harleyfillus1241
@harleyfillus1241 2 жыл бұрын
I have been blown away by how well done and cool these little projects are. Nice stuff
@luki446
@luki446 2 жыл бұрын
Really impresive video, you deserve much more views
@rodakdev
@rodakdev 2 жыл бұрын
totally
@miumenk
@miumenk 2 жыл бұрын
Very powerful vids, keep the great work!
@unmodify
@unmodify 2 жыл бұрын
Brilliant! Loved the structure of the. Nice how you added things in one at a time. Goes a long way explaining the same named concepts. Would love to see more of the world of shaders like this.
@willw2596
@willw2596 2 жыл бұрын
Wow. This video packed so much information in one shot. Truly impressive.
@magicboxlilt7581
@magicboxlilt7581 2 жыл бұрын
Best glsl video i've ever seen.
@tonnysocrates9741
@tonnysocrates9741 Жыл бұрын
I just love it even though I understand 2% of the content. Keep the content coming, I'm trapped into this
@berkipekoglu
@berkipekoglu 2 жыл бұрын
You and your channel are awesome!
@jaffe.kvallens
@jaffe.kvallens 5 ай бұрын
Awesome video, thank you for sharing
@sivaramakrishnanr.7173
@sivaramakrishnanr.7173 Жыл бұрын
I'll return here the day i understand ALL this stuff
@yangdeveloper2368
@yangdeveloper2368 2 жыл бұрын
wow I stumble across your channel by accident. Instant Sub.
@OneAndOnlyMe
@OneAndOnlyMe Жыл бұрын
Wow, that's incredible.
@philtoa334
@philtoa334 2 жыл бұрын
Great video very pro.
@Uri.Sab.
@Uri.Sab. 2 жыл бұрын
Your very very insane😳❤
@acanimationfilmstudio1018
@acanimationfilmstudio1018 2 жыл бұрын
Wow man you are the best
@warrior7038
@warrior7038 2 жыл бұрын
Did you write these codes by yourself? I'm impressed, you must be some genius....
@khatriiman_8b519
@khatriiman_8b519 10 ай бұрын
float d = rayMarch(p + N * 0.02, normalize(lightPos)).x; if (d < length(lightPos - p)) return vec3(0); return diffuse; i have same code as you still this part is not working can you help me with this??
@MrMagno-ni5lf
@MrMagno-ni5lf Жыл бұрын
Can you please tell what FOV is measured in?
@blind0ne144
@blind0ne144 2 жыл бұрын
What text2speech engine are you using? Love the video btw!!
@CoderSpaceChannel
@CoderSpaceChannel 2 жыл бұрын
cloud.google.com/text-to-speech
@theattic0098
@theattic0098 2 жыл бұрын
How would you implement keyboard movement, sort of like a FPS.
@marcosdanieltorres7253
@marcosdanieltorres7253 2 жыл бұрын
Great video! I have a question though: at 2:40 why are you not substracting ro from rd? Like this: vec3 rd = normalize(vec3(uv, FOV) - ro) This is confusing me a lot. What is the actual difference between rd vs rd - ro in this case?
@XENON2028
@XENON2028 Жыл бұрын
hey, I know this is old but do you know why I am not getting any shadows (I am at 8:24)
@ericberman1754
@ericberman1754 2 жыл бұрын
Amazing
@rallokkcaz
@rallokkcaz 2 жыл бұрын
More please'
@lupirite6373
@lupirite6373 Ай бұрын
For whatever reason my shadows won't work, I eventually tried to copy and paste your code, but the shadows are still broken
@whupass
@whupass 2 жыл бұрын
Wow, I am truly impressed. How did you learn about Ray Marching?
@CoderSpaceChannel
@CoderSpaceChannel 2 жыл бұрын
thanks to Inigo Quilez iquilezles.org/
@dimitrisgkofas7787
@dimitrisgkofas7787 2 жыл бұрын
how many functions does the shader can handle with 60 fps ?
@docname8333
@docname8333 2 жыл бұрын
Слушай, я тут просто нашел канал который ты скорее всего переводишь Надеюсь, это вы договорились
@olgach3989
@olgach3989 2 жыл бұрын
А может, это тоже его канал?
@docname8333
@docname8333 2 жыл бұрын
@@olgach3989 Нет, в каналах этого канала нету ссылки на другой канал
@olgach3989
@olgach3989 2 жыл бұрын
Возможно, так и задумано, почему нет
@xylvnking
@xylvnking Жыл бұрын
...ezreal?
@AinurEru
@AinurEru 2 жыл бұрын
Inspirational video, though not very useful unfortunately - more of a brief exposition to the topic than a tutorial, so the most that newcomers could hope to come out of watching it with, is being able to make some nice tasty code copy-pasta ;) Each of about a dosent theoretical nuggets here can easilly fill a whole tutorial unto themselves to really cover properly and provide a concrete grasp of how things work. Would be great if that could happen as a series of follow-ups! :) More specifically, while the video includes a combination of rough coverage interwoven with code-snippets, there's very little to tie them together. So the video comes across as: "hey, look at all those cool stuff I can do! (and maybe you could too, if you spend some weeks/months learning them elsewhere...)"
@azavier-a
@azavier-a 2 жыл бұрын
if you need step-by-step explainations go to Art of Code. I thought this video was amazing
@BaguetteDeP1
@BaguetteDeP1 2 жыл бұрын
I cloned your repository but can't make it to work... 😢 i got : GLSL Compiler failed fragment_shader =============== ERROR: 0:728: 'pMod1' : no matching overloaded function found (using implicit conversion) ERROR: 0:728: 'pMod1' : function is not known
@oskarroebuck6425
@oskarroebuck6425 Жыл бұрын
i hate to sound like a butthole, but, don’t do that? learn the basics of this language, watch the video in full, and then you may have some more success in troubleshooting the error yourself.
@wendeldelana5531
@wendeldelana5531 Жыл бұрын
just modify the second parameter of pMod1 to a float, like pMod1(p.z, 15.0);
@dagmawiabey8358
@dagmawiabey8358 2 жыл бұрын
is this really python cause damnnnnn
@MrjinZin0902
@MrjinZin0902 2 жыл бұрын
not python. GLSL. python just create window. all works done in fragment shader. not a practical example but interesting technic. part of technic could be used for decreasing overload.
@dagmawiabey8358
@dagmawiabey8358 2 жыл бұрын
@@MrjinZin0902 oh python is only for window. ok. thx
@lacasadeacero
@lacasadeacero Жыл бұрын
i say its posible on the sense of nothing special...and with this i want to introduce something deep: sometimes i like to do, new proyects, time ago i was about hard proyects...maybe its ive achieved a complexity level of design that makes me think: u wanna chicken with me :v?
@dandan1364
@dandan1364 2 жыл бұрын
Love your videos, but the computer voice is really annoying. Can you use your voice?
@CoderSpaceChannel
@CoderSpaceChannel 2 жыл бұрын
it's the only way for me to make a speech
@oskarroebuck6425
@oskarroebuck6425 Жыл бұрын
he might not have a mic
@lupirite6373
@lupirite6373 Ай бұрын
I didn't even notice it was text to speech, which I think is quite surprising
@Trooperos90
@Trooperos90 11 ай бұрын
Zoomer is that you?
3D Engine in Python. SkyBox, Environment Mapping
9:03
Coder Space
Рет қаралды 29 М.
I made a better Ray-Tracing engine
17:38
NamePointer
Рет қаралды 261 М.
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 41 МЛН
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН
Une nouvelle voiture pour Noël 🥹
00:28
Nicocapone
Рет қаралды 9 МЛН
Advanced Procedural 3D Graphics. Ray Marching Tutorial
10:15
Coder Space
Рет қаралды 26 М.
What if all the world's biggest problems have the same solution?
24:52
A simple procedural animation technique
8:31
argonaut
Рет қаралды 577 М.
How do non-euclidean games work? | Bitwise
14:19
DigiDigger
Рет қаралды 2,5 МЛН
I Made A Blob Shooting Game With Ray Marching
13:33
Visionary 3D
Рет қаралды 45 М.
Let's Program Doom - Part 1
25:13
3DSage
Рет қаралды 485 М.
Giving Personality to Procedural Animations using Math
15:30
t3ssel8r
Рет қаралды 2,7 МЛН
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 41 МЛН