Modern OpenGL Tutorial - Compute Shaders

preview_player
Показать описание
In this tutorial I'll show you how to use Compute Shaders in your OpenGL projects.

*Source Code*

*OpenGL Documentation*

*Discord Server*

*Patreon*

*Timestamps*
00:00 Intro
00:10 What are they used for
00:45 How they work
01:22 Compute Shader Example
01:32 Creating Compute Shaders
01:42 Dispatching Compute Shaders
02:28 "Rendering" Compute Shaders
02:45 Compute Shaders Source Code
03:27 Inputs
05:03 Ray Tracer Code
05:35 Warps/Wavefronts
05:59 Improving Performance
06:53 Shared Variables
08:40 Atomic Operations
09:43 Group Voting
11:01 Outro

*References*

#opengl #opengltutorial #computergraphics #cpp #visualstudio #3dgraphics #computeshaders #modernopengl
Рекомендации по теме
Комментарии
Автор

Feels good seeing high quality content on modern (not the 3.x modern) OpenGL. Thanks!
One thing about the shader group vote: It's 4.6 core functionality so you dont have to append the "ARB" suffix. Otherwise it would be using the ARB extension instead of core and somtimes their specification is different. You can then even remove the requiring of the extensions.

BoyBaykiller
Автор

Thank you so much, i've struggled getting my compute shaders to work and with the help of you, they now work :)

georgiyx
Автор

Thank you soo much for these compute shader videos!! They are absolutely amazing and by far the best resource I've found for making compute shaders :D

rose
Автор

i hit the 1k like, haha. Also very great video! I really couldnt find anything useful online for learning compute shader, but this really helped me understand it. Thanks

krakacats
Автор

Perfect timing. I was just starting to play around with compute shaders this week.

jakestein
Автор

As usual, another banger video. Love to see it, keep up the great work!!

kylevondra
Автор

Love your work Victor, i can still hear your voice when im doing my opengl :)

Trandunz
Автор

You are simply amazing. Even a person like me gets everything (when explained by you).

codeblend
Автор

Every time I come back to the channel the production just keeps getting better and better! I have always wondered how to do animation within OpenGL. Would animation or something along those lines be possible as a tutorial in the future? Thank you for your hard work!

mitchellkelly
Автор

Amazing video! Covered everything I needed!

jawadch
Автор

Great explanation, thanks! I decided that maybe I was ready for compute shaders, but now I know that's still a bit of a ways away, but within reach, and this helps with understanding when I may actually need them, however experimentation is warranted! Thanks again.

jeffcummings
Автор

Very nice of you to put a like counter in the description of your video! :)

clemdemort
Автор

Interesting tutorial for some of the more modern capabilities of OpenGL, you definitely become better at making such videos!

alexandru-cristiansandu
Автор

Great video. This clarified a lot of things that mystified me the past couple of days.

Question about 5:08 where you normalize the range from [0, 1] to [-1, 1]. Is this to match OpenGL clip space, or is there another purpose?

darkarchon
Автор

I've just subscribe!! Awesome video!

btw, which video editor do you use?

thanks for sharing

bithigh
Автор

Thanks. I was missing one line: glUseProgram() and a small eternity later I figured that out thanks to this video

kalebbruwer
Автор

s/o to you from china bro, working absolutely well

arlynwalker
Автор

7:55 Hey, so this caused quite a bit confusion to me. So i did some research and it seems barrier() has implicit shared memory synchronization, so the other call is not needed. However, this seems to not apply for other types of memory, for which you may still need an extra sync call. Also sadly it is not possible to sync a global memory between all thread groups because they are not always executed at the same time.

SirCobraXI
Автор

Hey can you please show us how to make a galaxy shader

Should worl similar to endportal shader in minecraft if possiblr

floriansteinmann
Автор

@Victor this is awesome!
Where do you learn these things from?

gergelybertalan