Direct State Access // OpenGL Tutorial #50

preview_player
Показать описание
In this video we learn how to use the Direct State Access API from OpenGL 4.5. We cover textures, buffers and framebuffers.

📚 Timecodes 📚
0:00 Intro
2:11 Textures
9:40 Buffers
17:08 Framebuffers
22:30 Outro

If you want to get the same version of the code that was used in the video checkout the tag 'TUT_50_DSA'

Feel free to comment below.

🔗Contacts:
🔹Instagram: @ogldev1
🔹Twitter: @ogldev

🙏Credits:
🔹Image by Pete Linforth from Pixabay
🔹Image by OpenClipart-Vectors from Pixabay
🔹Image by rindr from Pixabay
🔹Video by Carl Watermark from Pixabay
🔹Video by Dante 🇦🇷 T from Pixabay
🔹Video by Artyom Saqib from Pixabay
🔹Video by Tibor Janosi Mozes from Pixabay
🔹Music: "No Indication" by TrackTribe (Youtube Audio Library)

Enjoy,

Etay Meiri

#opengl #ogldev #opengtutorials
Рекомендации по теме
Комментарии
Автор

Clone the sources:

If you want to get the same version that was used in the video you can checkout the tag 'TUT_50_DSA'.

Build on Windows:
Open the Visual Studio solution:
Build the project 'OpenGL Tutorials\Tutorial50_DSA'

OGLDEV
Автор

It's amazing how nobody explains what binding is and you did it perfectly in 10 seconds, ty

swag_designs
Автор

This is perfect, i may consider this to my application upgrade

lanchanoinguyen
Автор

I recently watched a clip of Jonathan Blow saying OpenGL is the worst option for a graphics API. I don't know what he is on about... I think the state machine design is the simplest way this graphics pipeline could be done... so it seems to me the best way to do it.

developerdeveloper
Автор

I have not experimented with DSA that much before... is it possible to intermix object handles made from direct and non-direct calls?
Can you intermix direct and indirect access calls in general?
As DSA uses _Create_ and non-direct uses _Gen._ For example can you _create_ a handle and bind it for state change? And vice versa, can you _generate_ a handle and then directly change it's associated state with no binding?
I just imagine if they can work together, this can be quite useful for being very particular with what is happening to state, leaving room for more optimization.

In general I just sort of question how DSA works internally because the way the API is designed implies (to me) that it is an independent system which frankly confuses me. If they are indeed independent then yeah DSA does feel sort of pointless... though it does technically save on some gl calls but ultimately with an decently designed system my intuition tells me gl's state machine will still take the lead. This of course ignores the fact that maybe ADS includes internal optimization that isn't possible otherwise. This is being very nit-picky however, regardless if you want to work with state or not, the choice is nice, being black and white.
I'd look into docs and specs I guess but prefer a clear answer.

I have to give thanks to the great presentation and clear examples! It makes it easier drill into my head, the overlapping names has always made it harder to search about, awesome!

MCSteve_
Автор

would you consider making a vid on how to set up environment on linux ? like the SDL, some extra cpp niceties so that it touched upon it all in 1 video. (just a suggestion).

kirillholt
Автор

I'm confused about where you get the texture unit that you feed to the functions and subtract GL_TEXTURE0 from @ 8:50

undeadpresident
Автор

Hello. I don't understand: is it just fancy syntactic sugar? or did they change the whole philosophy?

kamalmoustafa
Автор

Thank you for the OpenGL videos - handful of them helped me to setup my basic renderer.

I might be ignorant but I see zero improvement in this DSA API 😂 As I see it is just duplication of API with bind-less option. IMHO, In the bigger picture: DSA just made full OpenGL API more complicated and error-prone - now you can call wrong function by mistake (glTextureParameteri instead of glTexParameteri).

rasulseidagul
Автор

It's intimidating that the specification is 800 pages 😭

Test-ivpm
Автор

A state machine never should have been used. Should have been like this from the start. State machines make for ambiguity and hidden errors. Wish I knew about this sooner.

undeadpresident
welcome to shbcf.ru