I Made a Graphics Engine (again)

Поділитися
Вставка
  • Опубліковано 11 чер 2024
  • Making a Graphics Engine. Since you guys loved the video about me making a graphics engine I made it again but better. I try out a bunch of awesome stuff like rendering 2D, & 3D shapes, object loading, textures, materials, shaders, terrain generation and much more! I also will be using OpenGL rather than DirectX11 ( which is what I used last time)
    Me Making a Physics Engine: • I Made A Physics Engine
    ➤My Links:
    Discord: / discord
    Instagram: / gabzxd
    Twitch: / officialzyger
    Twitter: / zygerdesigns
    Patreon: / zyger
    ➤Music Used
    1/2 by x髥莏 - • 1/2
    BattleBlock Theater Music - Menu Theme Extended by The Behemoth, Big Timber Studio - • BattleBlock Theater Mu...
    Rhythm Thief OST DISC1: 01 Phantom R's Theme 怪盗Rのテーマ - • Rhythm Thief OST DISC1...
    Your Love Is a Drug-
    • Your Love Is a Drug
    Terraria Music - Alternate Day -
    • Terraria Music - Alter...
    Bach-Cello-Suite by Philip Milman - • Cello Suite - Bach [CO...
    Fashion, But Kinda Sad · Pedro Silva - • Fashion, But Kinda Sad
    Winter - Vivaldi - • Winter - Vivaldi [COPY...
    Welcome to the NHK - Harmonica Song - • Welcome to the NHK - H...
    Summer Sky and Homework, Takahashi Takashi - Calm BGM
    • Summer Sky and Homewor...
    ➤Resources Used
    Low Poly Grass Pack 3D - www.turbosquid.com/3d-models/...
    Low Poly Tree Sample - www.turbosquid.com/3d-models/...
    Grass Textures - opengameart.org/content/30-gr...
    Banjo-Kazooie Snorkel Model - www.models-resource.com/ninte...
    OpenGL - www.opengl.org/
    ➤Similar Videos:
    jdh - Making my web game engine - • Making my web game engine
    Guilherme Teres - I Made a GAME ENGINE in 30 HOURS! (from Scratch) - • I Made a GAME ENGINE i...
    n8dev - I Made My Own Game Engine - • I Made My Own Game Engine
    Zyger - • I Made a Graphics Engine
    ➤Ignore:
    I created my own graphics engine engine. I tried implementing as many features as I could. I began by rendering 2D shapes onto the screen and realized how much work it is to calculate all eh vertices and indices hand. I then moved onto 3D shapes which was even harder. I created materials and textures which I would apply onto the objects. Then I moved onto implementing shaders such as transparency, fog, water, displacement, sin waves and more. I also took a quick break to add a skybox. As a final feature I added terrain generation based on a height and noise map. This was really difficult and it took a while to get it working but wow is it beautiful.
    Finally I added some camera controls, optimizations and the engine was finished.
    #gamedev #zyger #gameengine
  • Розваги

КОМЕНТАРІ • 308

  • @ZygerGFX
    @ZygerGFX  10 місяців тому +132

    After some people pointed out I realised that I got this section: 1:38 wrong, and muddled up. Oops... just somewhat ignore me here haha.

    • @Rocco-tb9ih
      @Rocco-tb9ih 10 місяців тому +7

      @@nolram that's not what she was referring to, but yes she also got it wrong at 0:40 (DX is faster)

    • @FeTetra
      @FeTetra 10 місяців тому

      @@nolram ogl is actually only a couple years older than dx but ogl isnt in development anymore while on the other hand we now have dx12
      im surprised vulkan isnt as popular since is marginally newer than both dx and ogl and it tends to be a bit faster and better supported on more platforms

    • @disusdev
      @disusdev 10 місяців тому

      @@Rocco-tb9ihmb she talking about learning curve 😅

    • @macreator9497
      @macreator9497 7 місяців тому

      but what dx you are referring to
      opengl is meant to be compared with directx 11
      directx12 is now compensating with vulkan @@Rocco-tb9ih

    • @dietrichdietrich7763
      @dietrichdietrich7763 7 місяців тому

      is it possible to call from opengl & direct x files into a single program?

  • @TheBendixSA
    @TheBendixSA 10 місяців тому +405

    The points are the vertices not the lines. They are edges and they form the faces.

    • @ZygerGFX
      @ZygerGFX  10 місяців тому +108

      Ah Yes that is true I have made a mistake, thanks for pointing it out :))

    • @IgorSantarek
      @IgorSantarek 10 місяців тому +26

      The indices are index numbers of vertices. They're there to make the data smaller. Rather than copying a vertex that consists of 3 to 4 numbers many times we only store it once and then place it by index which is a single number.

    • @joshuarowe8410
      @joshuarowe8410 10 місяців тому +2

      If you're already in the comments section, wouldn't you have seen that a bunch of people have already pointed out the same thing.

    • @n00blamer
      @n00blamer 4 місяці тому

      @@IgorSantarek Not just smaller but more efficient; GPUs remember (=cache) result of vertex shader by the vertex index.. the cache size varies but is somewhere between 16 and 64 last seen vertices (by their index).

    • @ShimoriUta77
      @ShimoriUta77 3 місяці тому

      The points you could even call it a Vertex (in the context of mathematics, since a vertex is a N-dimensional array of data)

  • @meigana7732
    @meigana7732 10 місяців тому +35

    Programming content can sometime be monotonous but the way you add humor and fun editing makes it really fun to watch

  • @estebanmata1251
    @estebanmata1251 5 місяців тому +2

    As a senior engineer y really appreciate that you showcase your thinking path, demonstrating the use of Divide and Conquer, it gives a roadmap for beginners of an order in which you could start learning. Awesome Content!

  • @invisibl367
    @invisibl367 3 місяці тому +1

    Vertices are the points, indi-CES (btw) are used to tell the graphics library how are these vertices connected..

  • @Iambeankind
    @Iambeankind 10 місяців тому +34

    You probably just got them muddled up but at 1:38 the points are vertices not lines

    • @ZygerGFX
      @ZygerGFX  10 місяців тому +8

      Yep realised now that you pointed it out haha

  • @spounka
    @spounka 10 місяців тому +39

    I loved the editing and the humour, way to go!
    I'm also working on a graphics engine myself on OpenGL, hardcore mode lol

    • @LukasOwen
      @LukasOwen 7 місяців тому +1

      roulma racing let's goo

    • @spounka
      @spounka 7 місяців тому +1

      @@LukasOwen how can you still remember that xD

    • @LukasOwen
      @LukasOwen 7 місяців тому +1

      @@spounka i never forget great things

    • @eineatombombe
      @eineatombombe Місяць тому

      vulkan is the true hardcore mode. when you start learning vulkan you realize opengl is easy

  • @rhethoricalQ
    @rhethoricalQ 10 місяців тому +2

    I really like how you present these concepts, thank you for sharing this video :D

  • @muffina672
    @muffina672 10 місяців тому +12

    Now use Vulkan

  • @Mgbeatz_Icrowdx
    @Mgbeatz_Icrowdx 10 місяців тому +7

    the editing is so cool wow some serious skills going on there

  • @IPwnYoU59
    @IPwnYoU59 10 місяців тому

    Ohh my god thank you for this dope video, it's really helping me on visually seeing programming a project in works.

  • @BlazPecnikCreations
    @BlazPecnikCreations 10 місяців тому

    Now this is the dev content I was craving, subbed

  • @randomlegodev
    @randomlegodev 5 місяців тому +2

    its been 5 months, we're ready for the vulkan video now 👍
    in all seriousness, great video, mad respect to you graphics developers

  • @BlessedDog
    @BlessedDog 10 місяців тому +5

    This video inspired me to learn C++, and now after about a week I have already coded a discord bot, a openGL renderer (very basic) and a CLI tool for manipulating images.
    Thanks!

  • @alexandrecerizza28
    @alexandrecerizza28 3 місяці тому

    this battleblock theater music is incredible!

  • @RobertOSheaGameDev
    @RobertOSheaGameDev 10 місяців тому +30

    Nice fun little video, I like your editing skills.
    You should totally give more modern OpenGL versions (3+) a go. It's a different way of going about things and is quite different to older versions of OpenGL e.g. relying on Vertex Buffer Objects and Vertex Array Objects. Unless you plan to go full insane and use Vulkan or DirectX 12 which are two different beasts lol
    Keep up the good work!

    • @alexjoel1602
      @alexjoel1602 10 місяців тому +1

      Vulkan is too much easier that OpenGL, or DX11. Using FPGA to render graphics would be a better challenge.

    • @anon1963
      @anon1963 10 місяців тому

      @@alexjoel1602vuklan is harder than opengl tho

    • @kubic-c3186
      @kubic-c3186 8 місяців тому +7

      @@alexjoel1602 should just start hand assembling your own GPU

    • @October-TE
      @October-TE 3 місяці тому

      @@kubic-c3186 do it on a breadboard like Ben Eater

  • @lazergenix
    @lazergenix 10 місяців тому +8

    I would have tried to make the grass move as if there was wind in the vertex shader.
    I'm just finished a re-write of my personal game engine, switched from DirectX11 to Vulkan. This was a nice video, thanks for making this :)

  • @Skeffles
    @Skeffles 10 місяців тому

    Fantastic to see you jump back into making a graphics engine again!

  • @TorQueMoD
    @TorQueMoD 8 місяців тому +1

    I love your use of technical lighting terms like "Shininess". Such a better word than roughness or gloss anyway :P

  • @BasPower12
    @BasPower12 5 місяців тому +2

    Your C++ OpenGL skills are OP

  • @developerdeveloper67
    @developerdeveloper67 10 місяців тому +61

    1:33 The lines are not vertices. A vertex is a point that connects to other points to make the shape (in this case triangles). A vertex can contain only the position, but usually they contain position, normals and uvs, color is also a popular choice, you can have 4 floats for vertex colors (RGBA). These are ordered in sequence with all the other vertices in a float array to be sent to video memory with OpenGL, for example this would be a single vertex with position, normals, uvs and color float array: float [12] = {posX, posY, posZ, normX, normY, normZ, uvX, uvY, colorR, colorG, colorB, colorA}. The index array is a separate array of unsigned integers that is used to inform OpenGL the order to iterate the vertices previously described (this is how triangles are drawn). You can draw triangles without the index array only with the vertices array, OpenGL can draw the triangles using the order the vertices were written in the vertices array. The problem is however doing so you will have to repeat vertices in the array, because most vertices are shared with multiple triangles, so doing so uses more memory of the video card, and that is why there is indexed drawing, so you can only write the unique vertices and then send the vertex drawing order to the shader as an index array.

    • @ghxstykden
      @ghxstykden 10 місяців тому +4

      ur fun at parties

    • @Dilligff
      @Dilligff 8 місяців тому +3

      You actually answered a question I had a long while ago and never followed up on which effectively boiled down to 'how do they handle the inefficiency of repeating the same vertex shared by multiple polygons?' since every mesh has them in multitude. This question arose around the same time I was asking myself why they don't use RGB as a way of flat mapping xyz coordinates to define a 3d object.

    • @jafeth12
      @jafeth12 7 місяців тому +8

      @@ghxstykden tbf calling the lines "vertices" and the points "indices" in graphics programming is like saying that 2+2 is 7. it needs to be pointed out lmao

    • @blzy965
      @blzy965 7 місяців тому +5

      @@ghxstykden This is quite important though.

    • @MrDgf97
      @MrDgf97 4 місяці тому

      ​@@ghxstykden mf watches an educational video and gets uppity when someone corrects mistakes lol

  • @Adamok-ef6vr
    @Adamok-ef6vr 10 місяців тому +1

    Really cool Video! I liked the edit style really much :)

    • @ZygerGFX
      @ZygerGFX  10 місяців тому

      thank you :))

  • @m7trffxx_xx166
    @m7trffxx_xx166 6 місяців тому

    Brilliant work 👏
    Just keep up the good work.

  • @alexcode2956
    @alexcode2956 10 місяців тому +8

    thats really cool, i cant really understand the math behind graphics engines

    • @joechristo2
      @joechristo2 10 місяців тому +3

      those who make them don’t either i think

    • @__Rizzler__
      @__Rizzler__ 10 місяців тому +2

      @@joechristo2 bro be on drugs if typed that

    • @n00blamer
      @n00blamer 4 місяці тому

      @@joechristo2 It's linear algebra at most, pretty basic stuff. It becomes a nice puzzle to solve once you start optimizing and making things as simple as possible because there are numerous solutions with different tradeoffs.

    • @n00blamer
      @n00blamer 4 місяці тому +1

      Story time: I was in my bedroom many years ago when I was still a teenager and struggling with projection matrices.. I just did projection using similar triangles method, you know the classic: y' = y / z. Then by scaling the y with some factor you can have different focal lengths.. easy peasy, works like dream.
      But the PROFESSIONAL textbooks, and graphics code uses something called "projection matrix", which is the linear algebra way of doing crap. Basically you have 4x4 matrix, and you multiply a vector by it and it is transformed.. rotations, translations and such are easy to understand with matrices but projection was a big mystery. One has to drill into the details a little bit for it to "click"
      Basically a 3D point is (x, y, z), right? Yeah, but this 4x4 matrix scheme actually thinks the vector as (x, y, z, w) .. where the W is the 4th dimension!? No, it's not a dimension at all.. it's just a mathematical construct.. for 3D points w is always 1.0. Transformations like rotation and translation keep w at 1.0, it's not modified at all.
      But projection transformation does modify w! After you multiply any 3D point by projection matrix, the w is often not 1.0 !!! This is called "homogeneous coordinate" (not making light of anyone's sexual identity here, look it up, it's a thing).
      We get "back" to 3D by dividing by this w coordinate:
      x = x / w
      y = y / w
      z = z / w
      BAM! Back in 3D, above operation is called.. PROJECTION! See the similarity to the similar triangles way? y' = y / z... that's right, the division...
      Now here's the COOL TRICK THE BIG 3D DON'T WANT YOU TO KNOW:
      You can do THREE divisions with just one.. whaaat!? yeah man, check this out..
      x / 2.0
      y / 4.0
      z / 8.0
      Is same as:
      x * 4 / 8.0
      y * 2 / 8.0
      z * 1 / 8.0
      In this scenario w would equal 8.0.. we can divide x, y and z by w.. but to get the correct result we must scale them before the division, and this is what the perspective projection matrix is doing! It's scaling the xyz and setting up w so that all can be divided by the same value.. why we don't just divide by z and scale x and y, is because z/z would always equal 1.0, so that's doesn't work at all. So we introduce this w, A COMMON DIVISOR, so that we can do our dirty business with the other components.
      The unfortunate fact is that this crap is not written down anywhere, you just have to kind of read between the lines to "get it", of course it helped I was already doing it the stupid way to begin with (similar triangles and dividing by z). This just recomposes this into 4x4 matrix form that is basic linear algebra.
      I'm looking 20+ years back into my past here, so this is not a big newsflash anymore but hope it helps someone out there.

  • @tomcruise1387
    @tomcruise1387 10 місяців тому +4

    I can see this is your passion, through all this work you deserve much more subs. Congrats for being such a game dev, if I would be your father I would be so proud.

  • @MrDgf97
    @MrDgf97 4 місяці тому

    Cool video! Your narration is calm and straight to the point, which I like a lot. The pacing of the video is also really tight, which is one of the hardest things to nail down. The abundance of sound effects for every little thing can be distracting tho, and the energy of the editing doesn't match the performance of the narration.
    Imo, leaning into easing the "energetic" editing style (popping subtitles, sound effects for every minute thing happening, etc.) could be the way to go

  • @nixedification
    @nixedification 8 місяців тому +2

    Just stumbled onto this channel. The editing is absurdly good.

  • @lilboiUK
    @lilboiUK 10 місяців тому

    Looks pretty cool nice job

  • @sculptingwoot
    @sculptingwoot 10 місяців тому

    Great video. Super entertaining and educational. Keep up the great work! Just curious what do you use to edit your videos?

  • @trustnooneelse
    @trustnooneelse 10 місяців тому

    I like this changing window titles, thats so funny tho xD

  • @2teaspoon
    @2teaspoon 10 місяців тому

    Praising the UA-cam algorithm to recommend your channel after I started searching for blender assets with C++ / Unreal. I recently completed learning basics of C++ and wanted to apply it in "fun" projects. And seems like you know how to have fun with C++. Thank you for such memeducation content! Easy +1 sub!

  • @vulnoryx
    @vulnoryx 10 місяців тому

    you make it sound so easy

  • @bayouq
    @bayouq 10 місяців тому +1

    great video! what tools did you use to learn opengl?

  • @beProsto
    @beProsto 10 місяців тому +2

    oh, a video on legacy opengl in 2023 o.o
    ngl didn't expect that, it was an awesome throwback ^^

  • @doomerdaniel
    @doomerdaniel 4 місяці тому

    im gonna do this in python and C, thanks for the inspiration!

  • @terminator6842
    @terminator6842 10 місяців тому +1

    Awesome work, might take a shot at this kind of a project myself. Wanted to for a while just didn't really know where to start. And I believe Fresnel is pronounced "freh-nell"

  • @willcupa
    @willcupa 10 місяців тому

    This keyboard sound is the thing i enjoyed the most
    It like it.

  • @aquadap219
    @aquadap219 4 місяці тому

    finally i found the perfect video to watch while im eating my food

  • @Zufuruyin
    @Zufuruyin 10 місяців тому

    Incredible, I'm amazed 👏 👏 👏 👏 👏 👏 👏 👏

  • @mfgranville
    @mfgranville 10 місяців тому

    I loved the video so much, great humor! hahaha
    But, I'm a newbie to that universe and I'm recently engaging on gaming development. I'd really like to know: to build your own engine is necessary?
    I'd like to do that for improvent of the gaming rendering and all that stuff; but I'm afraid it's gonna be too much to start, you know?
    But, anyway, your video really showed me that's possible and can be kind fun to do it. Thanks a lot!!

  • @alongal407
    @alongal407 7 місяців тому

    1:36 the points are vertices and the lines are edges

  • @TheCourtJester.
    @TheCourtJester. 10 місяців тому +1

    whats your programming background?
    great video btw

  • @Console.Log01
    @Console.Log01 10 місяців тому

    I'm learning c++ with SFML, and I thought a great first project would be to remake terraria.
    about a week in, as I'm programming my enemies, I realised my code was TERRIBLE. O(n^2) efficiency.
    and that's not speed, that's lines of code. adding a new enemy type doubled the length of enemy related code. So I deleted it all, and I'm working on it all again.
    currently trying to figure out how to use one vector to store a bunch of extended classes. It's tough.
    EDIT: also the battleblock theatre music is CLASS.

  • @reubenrk3406
    @reubenrk3406 10 місяців тому

    Nice. Imma try making one too.

  • @SebSha0
    @SebSha0 5 місяців тому

    I lost it when the arrow would move and keep doing the rock sliding sound 😂

  • @chronolecte4388
    @chronolecte4388 7 місяців тому

    Scary, really scary.
    Definitely interesting though

  • @martin128
    @martin128 7 місяців тому

    You made this seem like its easy, maybe i should try that also

  • @WiseNoodleOfficial
    @WiseNoodleOfficial 10 місяців тому

    Very smooth of you to have your call to actions hidden in the engine titles :P

  • @KoruxTV
    @KoruxTV 10 місяців тому +5

    really surprised you managed to implement bloom with your emission material. Curious how you went about doing that!

    • @ZygerGFX
      @ZygerGFX  10 місяців тому +2

      You could read this here which is a very good little article/doc that explains how to get post processing and specifically bloom set up: learnopengl.com/Advanced-Lighting/Bloom

  • @Ashwi.n_2411
    @Ashwi.n_2411 9 місяців тому

    love this series 💝. try Vulkan next

  • @dsnahogaragames
    @dsnahogaragames 10 місяців тому +1

    This is so dope, you made grass to touch grass.. Awesome!

  • @francobevacua6573
    @francobevacua6573 10 місяців тому

    I loved your video! You have a new fan (subcriber is quiet formal xD). I'm studying C++ to make an engine in the future :)

  • @loli42
    @loli42 9 місяців тому +3

    7:06 ???????????

  • @marcelpi0
    @marcelpi0 10 місяців тому

    I'm really impressed. I've been working on a graphics engine for a project at university for a few weeks, and I'm not even close to where you are. Would it be possible for you to share the project?

  • @iiZeRo
    @iiZeRo 9 місяців тому

    Amazing video 🌚💜

  • @Aryan_Divyanshu_000
    @Aryan_Divyanshu_000 10 місяців тому

    I understand coordinate geometry somewhat. Decently good with blender and computer programming. I always knew what are the underlying principles in 3D but never got to visualize that in reality until I bumped across this video. Great video. But I'm more interested in how the GPU processes the data.

  • @leezhieng
    @leezhieng 10 місяців тому

    Nice, I'm working on my own engine too, but don't really have the time to work on it. So far only loading model (obj and fbx) and shader/texture. Keep it up.

  • @LiquidMark
    @LiquidMark 10 місяців тому +4

    Amazing, I would love to learn OpenGL and C++ but don't know where to start, I do know some C++ but I should start on some basic things.
    What would you recommend? (love the video and keep up the good work 👍)

    • @ZygerGFX
      @ZygerGFX  10 місяців тому +4

      Hey thank you . Honestly you can go straight into graphics programming, like OpenGL. If you don't feel confident to star there I'd recommend just trying to make a bunch of really simple programs using c++. You can use the default visual studio console c++ project, and try out different things. That's something that I did and in the end I had around 40 little projects all doing very simple things like, calculations, arrays, loops, lists and then more complicated algorithms as I got confident. But at the same time, don't overthink it and just start anywhere :))

    • @LiquidMark
      @LiquidMark 10 місяців тому +1

      @@ZygerGFX Thank you for the recommendations! Hope you have a amazing day!

  • @BunchOfNerdsMakingGames
    @BunchOfNerdsMakingGames 10 місяців тому

    All of the window names throughout the video are hilarious, "When I wrote this code, only God and I understood what I did. Now only God knows..." is definitely the best one!

  • @npip99
    @npip99 6 місяців тому

    Some comments are so harsh on the vertex vs line! I hope this is part where a YT comments section fills up with "wow calm down guys" and then you can't even find the original comments of people being so picky. 😆 Great video

  • @SplitUnknown
    @SplitUnknown 10 місяців тому

    😮wow nice!!

  • @Soroosh.S83
    @Soroosh.S83 10 місяців тому

    I'm just a person who work on godot to learn and making an actual graphic engine is so much it's a giagantic scary monster to me omg idk how did you do this but I respect that fr ❤👌

  • @TheFFire
    @TheFFire 9 місяців тому

    Great video yeee :)

  • @jeb8755
    @jeb8755 7 місяців тому

    I'm working on a 3D first person shooter for my semester project and I am curious how you did some of the model loading in this video, do you have a github or any source code to the project, I would love to see how you did it!

  • @vadiks20032
    @vadiks20032 4 місяці тому

    2:34 my utter shock at seeing the title of window say "3 hours" not "3 days"

  • @svandynamics
    @svandynamics 4 місяці тому

    i lvoe you(r pacing and tone of voiceand also very cool)

  • @justanotherdude_76
    @justanotherdude_76 4 місяці тому

    3:15 at thsi point i see that the shark is already smooth shaded si it the default setting or you implimented it?

  • @diluconeal7199
    @diluconeal7199 3 місяці тому

    Okay. Now it's time to do it with vulkan

  • @SkyriftStudios
    @SkyriftStudios 10 місяців тому +2

    1:30 Wait a minute.. those aren't "indecies" they aren't even unsigned integers lol

  • @theshadowunity8260
    @theshadowunity8260 10 місяців тому

    5:55 you git me there vro instant subscribe

  • @manuel_42
    @manuel_42 4 місяці тому

    I'm struggling learning pointers, what should I do?

  • @kaduseus593
    @kaduseus593 10 місяців тому

    Snapped the rubber band in my brain with that mistake, silly goose.

  • @LostSendHelp_YT
    @LostSendHelp_YT 7 місяців тому +1

    What will be harder Trying to make this in a high level language like Python with a similar frame rate to the one in C++ or making this but it's 4D

  • @BenjaminBlodgettDev
    @BenjaminBlodgettDev 10 місяців тому

    Excellent video

  • @MFringo_art
    @MFringo_art 7 місяців тому +1

    very cool video :) however i would like to point out that some of the sound effects you use to put emphasis on speaking are sometimes a bit loud and excessive. loved the video though :)

  • @shotzvfx3738
    @shotzvfx3738 3 місяці тому

    dam girl u are like a unicorn ! keep working on it

  • @lorenzopandolfo5358
    @lorenzopandolfo5358 10 місяців тому

    so cool!!

  • @kamilkara2767
    @kamilkara2767 2 місяці тому

    Could you suggest online course or book for learing game development

  • @tobihendrix1324
    @tobihendrix1324 7 місяців тому +1

    Rendering Text isn't "build in" into OpenGL. So did you use Bitmap-Fonts or TrueType-Rendering, or a good and fast combination of both?

    • @ZygerGFX
      @ZygerGFX  7 місяців тому +1

      Yes I know its not actually "built in" but I wanted it to be easier to understand for people who have never heard of OpenGL before. What I actually meant is that I didn't use any external libraries to render text such as FreeType. Instead used bitmap fonts.

    • @tobihendrix1324
      @tobihendrix1324 7 місяців тому

      @@ZygerGFX Thanks for the clarification! :)

    • @n00blamer
      @n00blamer 4 місяці тому

      @@ZygerGFX That's a cool shortcut, font glyph rendering is a huge pain when you start covering everything.. texture font atlases, caching and keeping track what's where.. optimizing to minimize texture changes.. or go even crazier with fragment shader font resolver from the outline curves. It blows up really fast, some time you just want that text out there. :)

  • @gravity_mxk5663
    @gravity_mxk5663 4 місяці тому

    Great video

  • @user-vt8ke5bj2n
    @user-vt8ke5bj2n 6 місяців тому

    what you use Open GL?

  • @josemfernandeza5979
    @josemfernandeza5979 8 місяців тому

    They gave us an assignment for precisely this in University and it fucking broke me. I tried using Python and Pygames and I got fairly far, but when time came to texturize, create lighting and even to create solid colours I just couldn't get past it.

  • @steezogt82827
    @steezogt82827 10 місяців тому +2

    W

  • @TheMonsterShow1717
    @TheMonsterShow1717 10 місяців тому

    Love you videos

  • @parkman29
    @parkman29 10 місяців тому

    Now you need to make a vulkan game engine

  • @charzulu
    @charzulu 10 місяців тому +1

    not bad 👍

  • @publicalias8172
    @publicalias8172 10 місяців тому +5

    came for the knowledge stayed for the coder cutie

  • @banylp3632
    @banylp3632 10 місяців тому

    i have worked with opencl but not with opengl, now i have to try it thanks

    • @BlessedDog
      @BlessedDog 10 місяців тому +2

      OpenGL is pretty much deprecated but no harm in learning

  • @Unix404
    @Unix404 10 місяців тому

    Nice

  • @gibkijasiu
    @gibkijasiu 10 місяців тому

    good luck with vulkan xd

  • @zaidabraham7310
    @zaidabraham7310 5 місяців тому +1

    You are incorrect with your definition of vertices and indices.
    Vertices are the points of the cube. Indices (plural of index) state in which order these points/vertices should be connected, by splitting up the vertices into triangles.

  • @IlliaZhdanov
    @IlliaZhdanov 10 місяців тому +6

    V U L K A N?

  • @stealthkillertoxic4090
    @stealthkillertoxic4090 10 місяців тому +2

    Just fyi, there's a lot of places that still say that opengl is faster than dirextx but nowadays d3d12 and vulkan are actually faster than opengl

    • @halfbakedproductions7887
      @halfbakedproductions7887 10 місяців тому

      I've never really looked at Vulkan, but lots of people much smarter than me say that it's horrible. So there's that.

    • @stealthkillertoxic4090
      @stealthkillertoxic4090 10 місяців тому +1

      @@halfbakedproductions7887 im learning it right now, and if you already know other graphics api's like opengl or dx11 its actually not impossible to start using. But if you want to make a production level renderer with multithreading and everything then yeah.

    • @BlessedDog
      @BlessedDog 10 місяців тому

      ​@@halfbakedproductions7887IMO vulkan should (hopefully) become the standard as its cross platform and open source

  • @MrHuman-iy5lw
    @MrHuman-iy5lw 10 місяців тому +1

    Make it with vulkan

  • @matthewbrown995
    @matthewbrown995 10 місяців тому +1

    What’s the name of the song from the intro? (0:00)

  • @neyrol7229
    @neyrol7229 Місяць тому

    where did you study all this?

  • @xKreesherZ
    @xKreesherZ 7 місяців тому

    nice now draw a custom title bar on your app window (and pls teach me how because i'm struggling with it so much)

  • @trollgangz9322
    @trollgangz9322 10 місяців тому

    Thb your voice gives me "if Arya from GOT was smart" vibes.

  • @gr-source
    @gr-source 8 місяців тому +4

    Não entendo muito inglês mais curtir muito seu conteúdo você ganhou +1 fã brasilero 🇧🇷🇧🇷

  • @Chrome_Cat
    @Chrome_Cat 4 місяці тому

    Try making a 3D engine from scratch in c++ with the only gpu operation being rendering a pixel array. Trust me, it's easier than it sounds.