Why is graphics programming SO HARD to learn? My story

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ต.ค. 2024

ความคิดเห็น • 90

  • @sussmusk
    @sussmusk วันที่ผ่านมา +40

    Bruh I am 14 year old I was trying to learn opengl but then left due to its math now i am simulating physics in pygame

    • @Trixter-r1p
      @Trixter-r1p วันที่ผ่านมา

      There is also Vulkan which is 1000 times more difficult to learn. However, it allows you to do things that are difficult to do using OpenGL and also provides more opportunities for optimization.

    • @MrLegitimate
      @MrLegitimate วันที่ผ่านมา +2

      I'm also 14 and I also found OpenGL difficult as well. I then decided to learn how to make a 2D game first then eventually go to 3D games. I'm using SFML and quite straight forward.

    • @Cinarbayramic
      @Cinarbayramic วันที่ผ่านมา +1

      dont worry its pretty simple when you look at it i am currently making a graphics engine in sdl2 and the most mathy thing i did included pretty simple functions like sine or sth like that

    • @knitnatsnokprogramming
      @knitnatsnokprogramming วันที่ผ่านมา

      Pygame for the win 🏆
      I am currently doing a game engine using pygame

    • @gerardonavarro3400
      @gerardonavarro3400 วันที่ผ่านมา +4

      ​@@knitnatsnokprogramminga game engine using pygame sound slow tbh 😭😭

  • @y0_0go
    @y0_0go วันที่ผ่านมา +9

    When he said it took him days to setup SFML and get that green circle code to work.... I cried . Sooo relatable

    • @adamrushford
      @adamrushford วันที่ผ่านมา

      www.youtube.com/@adamrushford

    • @JtagSheep
      @JtagSheep 19 ชั่วโมงที่ผ่านมา

      Making a circle aint easy but it should take "days" to setup SFML, if possible you should also stray away from SFML and learn how to do most of it yourself, its really not hard considering the biggest part of cross platform windowing and input is sorted for you using GLFW.

  • @hrvatskistakor23
    @hrvatskistakor23 18 ชั่วโมงที่ผ่านมา

    It took me about 6 failed engine projects during last 18 months to become a beginner with vulkan graphics programming, still getting stuck on things but it's much easier over time. I remember the day that the basics of matrix manipulations clicked with me and after that it was easy to recognize when i did something wrong, it kind of becomes natural.

  • @EStartive
    @EStartive วันที่ผ่านมา +27

    it doesn't even have a cursor!
    vim and emacs users:

    • @HatsuSixty
      @HatsuSixty วันที่ผ่านมา

      emacs does have a cursor tho. actually, emacs' default user interface is very user friendly, it's just that most people (myself included) remove these components from the interface. vim is the hard one

    • @Cinarbayramic
      @Cinarbayramic วันที่ผ่านมา

      ​@@HatsuSixtyvim is simple too only complicated thing is macros/ leaving the program

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  วันที่ผ่านมา

      💀

    • @Nystoke
      @Nystoke 15 ชั่วโมงที่ผ่านมา +1

      me after accidentally forgetting the closing “ after a git commit -m

  • @iamaprogrammer988
    @iamaprogrammer988 วันที่ผ่านมา

    I absolutely love computer graphics, I got a bit burnt out though. I think partially because I tried to learn everything way too fast (3D in Vulkan from almost no rendering knowledge fast). I got to a point of rendering about 10,000 basic cubes with textures before getting burnt out. I kept some of that knowledge, but I didn't retain as much of that knowledge as I would have liked. After I'm finished with collage applications, I will probably take the time to more thoroughly learn computer graphics and the math behind it. Definitely don't rush through learning, especially with computer science, you may not learn as much as you think you are XD

  • @mariusirgens5555
    @mariusirgens5555 วันที่ผ่านมา

    I was very lucky that my university offered a wide range of both 2D and 3D computer graphics programming courses, along with relevant math courses. I did a master in visualization, where basically every course was graphics related. When I got my PhD position in a new university, looking at their course list, there was not a single graphics related course to choose!
    Computer graphics are incredibly important, but to offer a full range of courses on the topic, there is a need for a visualization group that can teach the subject in an academically relevant manner. Most universities do not have such a group, but some do. If you want to study computer graphics, find a university that has a visualization group.

  • @MrValsung
    @MrValsung วันที่ผ่านมา +4

    great video. curious on the graphics book your pops gave you. in general, I would like resources that teach you how to render shapes without just being given libraries that do that for you.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  วันที่ผ่านมา

      yeah that book doesn't have any of that information 😂 I think it is older than opengl itself. TH-cam is your best option and I also have some cool resources on my discord server in the resources section

    • @MrValsung
      @MrValsung 23 ชั่วโมงที่ผ่านมา

      @@lowlevelgamedev9330 fair enough. I would like to know the book anyways if you still have the title. I am pretty familiar with the basics of graphics rendering, I just would like to actually set up a dev environment in DOS, and was hoping that the book you read would be good supplementary material on accomplishing said end.

  • @constantitus
    @constantitus วันที่ผ่านมา +2

    Hearing Vlad say "I think I managed to get some really good graphics out of it" while the shadows are glitching in the video is peak. Reminds me of that clip of the Dead by Daylight main developer saying "I think we did a pretty good job so far" while the game was barely playable 💀

    • @constantitus
      @constantitus วันที่ผ่านมา

      (5:38, the shadow on the cliff)

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  วันที่ผ่านมา

      those aren't shadows tho, (the sun direction is perpendicular to that wall) it is minecrsft style light that just has a value from 0 to 15 and it decreases by one with the time of day. Tho shadows are glichy rn but I didn't show that in the video 😂

  • @PySnek
    @PySnek วันที่ผ่านมา +4

    The only thing I still struggle with is networking. Even with easier programming languages like Python or Lua. I just cant wrap my head around it!

    • @AntonioNoack
      @AntonioNoack วันที่ผ่านมา +1

      Networking = you define a format for your packets, and then parse them on each side accordingly.
      To avoid parsing errors, you could send JSON objects.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  วันที่ผ่านมา

      I made a video on this, I think it can help you a little

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  วันที่ผ่านมา +1

      networking is not just sending packets, that's like the easyest topic from it, it's like only 1% of it

  • @Cactusman-e1d
    @Cactusman-e1d วันที่ผ่านมา

    Yep as a CS student in my final year..... i have spent months just learning math, and now finishing up calc1 but even to do extreamly advanced stuff in graphics. I still would need to learn cacl2 and 3.... ontop of other stuff. In short if you really want to go for it be prepared to learn to like math.

    • @JtagSheep
      @JtagSheep 19 ชั่วโมงที่ผ่านมา

      "to do extreamly advanced stuff in graphics" like what ?

    • @Cactusman-e1d
      @Cactusman-e1d 13 ชั่วโมงที่ผ่านมา

      @ I’m more referring to like physics simulations for instance if you wanted to do custom water simulations ray marching for like clouds etc. realtime rendering techniques or for instance implementing something like nanotechnology like unreal engine does etc. just overall various things. Stuff I haven’t personally dove into but just have researched. And a lot of the higher stuff just gets more into multi variable calc stuff

  • @Meteotrix
    @Meteotrix วันที่ผ่านมา +1

    yeah i'd recommend a straight-up masters in computer graphics if you can, it takes about as long and you get a deeper understanding & networking opportunities.

  • @Divyam1001
    @Divyam1001 วันที่ผ่านมา

    Thank you for the motivation

  • @carlriemann925
    @carlriemann925 วันที่ผ่านมา +1

    Why always opengl? I have been studying vulkan for the past 6 years now. It's amazing. I got my job as game programmer in a AAA gaming company now. Everywhere I go I see opengl tutorials. But the truth is vulkan is being used extensively everywhere.

    • @Yan23459
      @Yan23459 วันที่ผ่านมา +1

      Opengl is simpler and has faster results so people recommend you to play with it first before going to vulkan or even direct x

    • @JtagSheep
      @JtagSheep 19 ชั่วโมงที่ผ่านมา

      Because OpenGL is super easy to setup and get running, Vulkan takes a whole day just to get a triangle on screen. Vulkan is the succesor to OpenGL though and is pretty damn neat!

  • @Bhanukamax
    @Bhanukamax วันที่ผ่านมา

    Curious what that book your father gave thought. Care to share the name?
    Really great content btw, very helpful and inspiring.

  • @xanderlinhares
    @xanderlinhares วันที่ผ่านมา +1

    I teach this subject at CSUMB in Monterey CA and go very deep into the math with 3 weeks alone dedicated to it. We also write a raytracer from scratch and write hardware accelerated lit and shadowed scenes with the rasterization pipeline.

  • @pankaj2058
    @pankaj2058 วันที่ผ่านมา +3

    Kindly mention the name of the books shown in the video.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  วันที่ผ่านมา +1

      yo I think that book is only available in Romania, so idk what is the title in english, but I haven't really found books a place to learn coding, especially beginner topics, just use tutorials and do things youself. Also that book is very very old

  • @jeezusjr
    @jeezusjr วันที่ผ่านมา

    Thank you for making this video. I am also trying to learn graphics programming and it seems impossible. I want to make a cad modeler.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  วันที่ผ่านมา

      that is a cool project idea 💪 good luck bro

  • @AlbertRyanstein
    @AlbertRyanstein 17 ชั่วโมงที่ผ่านมา +1

    I struggled with the 3blue1brown linear algebra. my maths ability I feel is good, but about 5 videos in it just went crazy and I felt information was missing. do you have any other sources. I think it wasn't the level just something I missed

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  16 ชั่วโมงที่ผ่านมา +1

      @@AlbertRyanstein try jamy kings opengl tutorial and also skme other linrar algebra course online

    • @AlbertRyanstein
      @AlbertRyanstein 16 ชั่วโมงที่ผ่านมา

      @lowlevelgamedev9330 I'm fine with coding it since glm does it all. I just got lost when trying to do the 3b1

  • @d4r1u5-pk7zr
    @d4r1u5-pk7zr วันที่ผ่านมา +3

    I have a cpp book about graphics that was made for windows 3.1 =/

    • @Trixter-r1p
      @Trixter-r1p วันที่ผ่านมา +1

      What's the book? I want to look at it

    • @d4r1u5-pk7zr
      @d4r1u5-pk7zr วันที่ผ่านมา

      @@Trixter-r1p sadly is not in english =//

  • @pwyounggamedev
    @pwyounggamedev วันที่ผ่านมา

    Ironic timing on this video. I realized that SDL2's built-in renderer wouldn't be enough for the project I'm working on so I've been struggling with learning OpenGL for a few weeks. It stinks because I just wanted 2D rendering and I've had the background in linear algebra needed for this stuff. Haha

  • @Cinarbayramic
    @Cinarbayramic วันที่ผ่านมา +1

    im making a graphics engine (idk if i can call it that but it can render meshes) and i didnt hear that until now

  • @Manu-c5q
    @Manu-c5q วันที่ผ่านมา

    the linear algebra and trigonometry kills me, i am learning c to make a software rasterizer, my computer does not support godot engine 3, only directx9 stuff.

  • @terr7892
    @terr7892 วันที่ผ่านมา

    How important is understanding linear algebra for game dev? I'm currently taking it, even though i don't know how good and relevant is the course in romanian cs

    • @abhishekKUMAR-ij7nw
      @abhishekKUMAR-ij7nw วันที่ผ่านมา +3

      if you are making a game using low level stuff then its very important, but if you are using a game engine like unity and others then you can get away without learning linear algebra

    • @SianaGearz
      @SianaGearz วันที่ผ่านมา +1

      You can snake your way around without it but please study it thoroughly, you will find it helpful. I don't know specifically about Romania but it's a remarkably standard course across the rest of Europe so it should be fine i guess.
      Also numerics tends to be one of the toughest most impenetrable courses but pay attention too, one day it will save your job.

    • @HaTTaRequiem
      @HaTTaRequiem วันที่ผ่านมา

      depends how low level you go, simple algebra concepts should help you when working with references along an axis of a player to get every object in a certain distance for example.
      if you wanna re-invent the wheel then it's primordial because you will be working the pipelines. Think of a matrix as an awesome way to arrange numbers to make many operations. Helpfull for tons of calculation and parameters, which is exactly what you have.

    • @finesseandstyle
      @finesseandstyle วันที่ผ่านมา

      There are various uses cases for it that I've come across as a dev, there's probably more
      * Complex Damage formulas
      * Positioning UI elements in regard to an object's world location (like off screen indicators)
      * Predicting projectile locations, for a turret for example
      * Checking if you're looking at a specific direction, for example making one directional collider (dot product)
      Do you NEED to know linear algebra? If you already have a game engine, no, you don't strictly need it as long as you can find the right tutorials for what you want. But if you do know you can easily make changes to suit your needs, you'll probably not even need tutorials at this point
      The best way to learn linear algebra is by creating game features that uses linear algebra and you intuitively learn by practice

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  วันที่ผ่านมา

      you need to learn some things, unfortunatelly they don't teach you how things work in school so you will need to learn them in your own on youtube like using the videos from 3 blue one brown on youtube on linear algebra. The basci things that you need are not hard

  • @marwan7614
    @marwan7614 23 ชั่วโมงที่ผ่านมา

    Doesn't Raylib also use opengl ?

    • @JtagSheep
      @JtagSheep 19 ชั่วโมงที่ผ่านมา

      Yes it does.

  • @jamiecropley
    @jamiecropley วันที่ผ่านมา

    I don't think its hard I think you just need to break stuff down at an ultra level to understand it better, which I admit does take a level of effort which could be considered hard.

  • @muchas_gracias
    @muchas_gracias วันที่ผ่านมา +1

    ooh my goodness! can you not so obviously read your text and especially when you zoom face it's really strange)))

  • @nylvon
    @nylvon วันที่ผ่านมา +3

    skill issue

    • @jigsaw2253
      @jigsaw2253 วันที่ผ่านมา +1

      You are lame

  • @havx6
    @havx6 3 วันที่ผ่านมา +2

    Hiii

  • @whiteingale
    @whiteingale วันที่ผ่านมา

    666 views what the hell...

  • @alihene2225
    @alihene2225 19 ชั่วโมงที่ผ่านมา

    Real (my software renderer runs at 10 fps 🥲)

  • @TeofilBejan-lg2rt
    @TeofilBejan-lg2rt วันที่ผ่านมา

    So you need to know math for game development?

    • @Meteotrix
      @Meteotrix วันที่ผ่านมา +1

      high school math helps a ton for 2D games, uni math for 3D games :)

    • @HaTTaRequiem
      @HaTTaRequiem วันที่ผ่านมา +1

      discrete maths, linear algebra, calculus. yeah, basically.
      you can take it by yourself by reading a couple of books and complete the excercises in them, many universities just throw you a bunch of books and ocassionally explain something to you really, so you can start learning it today and alone, as long as you have DISCIPLINE!, else get into an university and pressured by your teacher to actually learn, might wanna go through that last path if you lack concentration when studying by yourself.

  • @AntoineVanGeyseghem
    @AntoineVanGeyseghem วันที่ผ่านมา

    Hahaha. ☝

  • @painkiller7769
    @painkiller7769 วันที่ผ่านมา +3

    I really can't understand this guy even if I really want to

  • @gsestream
    @gsestream วันที่ผ่านมา

    because opengl shuggers, too complicated by design, its bad ui when you are supposed to do ui with it. keep it simple.

    • @lowlevelgamedev9330
      @lowlevelgamedev9330  วันที่ผ่านมา

      not really, it's not opengl shader's fault, they arr not even complicated lol. UI is hard to do in general, like have you ever tried css 💀. Opengl is just not built for ui and you need to write your own thing for that and that is just hard. Like imagine implementing your own css

    • @gsestream
      @gsestream วันที่ผ่านมา

      @@lowlevelgamedev9330 I really mean the general opengl API is very confusing. and opencl shader programs are very much easier. no graphics api mess to be dealt with. opengl API = opengl UI. ie OpenGL programmer user interface.

    • @gsestream
      @gsestream วันที่ผ่านมา

      @@lowlevelgamedev9330 you really did not get what my point was. opengl api shuggers. thanks.

    • @gsestream
      @gsestream วันที่ผ่านมา

      @@lowlevelgamedev9330 in other words, opengl programming api is not programmer user interface friendly. just like linux management is not user friendly. only expert friendly.

    • @JtagSheep
      @JtagSheep 19 ชั่วโมงที่ผ่านมา

      @@lowlevelgamedev9330 Css is not at all hard, if you find css hard I can see why it took a day to setup SFML. You also dont need to know the first fucken thing about any major mathematics to write OpenGL apps, we are lucky in that other very kind people have taken time to write libs like GLM, if you want to write your own math lib then sure but 99.9% of the time it is far to time consuming to do so.

  • @marccalis9444
    @marccalis9444 18 ชั่วโมงที่ผ่านมา

    Anoying music

  • @aerocu482
    @aerocu482 วันที่ผ่านมา

    Skill issue