PATH TRACER made by 15-YEAR-OLD in C++ OpenGL! // Code Review

Поділитися
Вставка
  • Опубліковано 29 тра 2024
  • To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/TheCherno. The first 200 of you will get 20% off Brilliant’s annual premium subscription!
    Patreon ► / thecherno
    Instagram ► / thecherno
    Twitter ► / thecherno
    Discord ► / discord
    🌏 LINKS
    How to Properly Setup C++ Projects ► • How to Properly Setup ...
    Code Review playlist ► • Code Review
    Code ► github.com/Eduard0110/Path-tr...
    Send an email to chernoreview@gmail.com with your source code, a brief explanation, and what you need help with/want me to review and you could be in the next episode of my Code Review series! Also let me know if you would like to remain anonymous.
    Hazel ► hazelengine.com
    🕹️ Play our latest game FREE (made in Hazel!) ► studiocherno.itch.io/dichotomy
    🌏 Need web hosting? ► hostinger.com/cherno
    📚 CHAPTERS
    0:00 - OpenGL Path Tracer
    6:18 - Fixing our first problem
    9:05 - Fixing our second problem
    9:46 - Running the project
    12:27 - Main architecture remarks
    15:47 - OpenGL context and versions
    22:05 - C++ syntax remarks and more code
    23:12 - Random numbers
    26:00 - Uniform buffers instead of uniforms
    28:12 - Environment maps
    30:57 - Framebuffers
    31:35 - Bloom
    33:33 - Rendering
    36:01 - It's not over...
    💰 Links to stuff I use:
    ⌨ Keyboard ► geni.us/T2J7
    🐭 Mouse ► geni.us/BuY7
    💻 Monitors ► geni.us/wZFSwSK
    This video is sponsored by Brilliant.

КОМЕНТАРІ • 160

  • @TheCherno
    @TheCherno  5 місяців тому +55

    I want to wish you all a VERY Merry Christmas and a Happy New Year! Thank you for watching my videos this year, I hope you've enjoyed them and I'm excited for the new year to come as I finally settle into my new (and more permanent) office! ❤
    Also see if you can use these holidays to learn something new! You can try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/TheCherno. The first 200 of you will get 20% off Brilliant’s annual premium subscription!

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

      Legend :))

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

      just a minor thing here, its fine to use OpenGL 4.0 and up, but 3.3 is the most compatible with older platforms and hardware. So if you want to have the possibility of expanding beyond people with the most recent stuff, then 3.3 is the way to go, just make sure you don't use immediate mode. But 4.0 is the best option if your only target is the most recent hardware and drivers

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

      @nerdastics3987 In any tutorial on OpenGL, I always noticed that they tend to use opengl 3.3, so I decided to use that without much thinking about it

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

      @@nerdastics3987 I disagree. OpenGL 4.0 was released in 2010, are you really going to be supporting drivers that go further back than that? That's almost 15 years old. At this stage, nobody should be that out of date (unless using retro hardware etc.). Especially if you're an independent developer with no real reason to, I think that's really bad practice and preventing you from doing things in a more modern, beneficial way.
      I could see this being a potential argument if the year was 2015, but it's 2024.

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

      @@TheCherno the main argument I make here is because 3.3 is the most neutral version. And using it along with extensions such as ARB_buffer_storage, ARB_map_buffer_range, etc. can actually open it up to a more 4.5 style api. There is a gain to using more modern versions, but using 3.3, or well any version that doesn’t cut out older hardware/drivers, is a better practice. There is also significantly more help and documentation and support around 3.3. The extra features of 4.5 aren’t almost at all different from the extensions you can use in 3.3. So in effect they operate with the same features, but 3.3 has more old hardware supportability.

  • @KDSBestGameDev
    @KDSBestGameDev 5 місяців тому +122

    Cherno: "I don't imagine professional engineers watching this content"
    Me: Developing Software for over 2 Decades and over 15 years professionally. Watching! *shocked pikachu face*
    Cherno: "for anything other than entertainment or eating lunch..."
    Me: "Okay yeah that is correct. Eating Popcorn while watching and thinking about my current programming issue"

    • @hoggy077
      @hoggy077 5 місяців тому +6

      Cherno: "I don't imagine professional engineers watching this"
      Me: *sweating profusely*

  • @forbiddensongs
    @forbiddensongs 5 місяців тому +82

    i'm a professional engineer watching this - but my field is fully unrelated to everything you do so i still learn a good amount most episodes :D

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

      Same i think i could write something like this while looking at this, but at the same time I don't have enough time spare and it's outside my expertise field.
      It's fun to watch that 15 years old boy wrote this and i'm amazed of his progress and understating of the topic, wish him good career and his peers will be scared if he's a person that people be scared of if they are in same recrutation process XD

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

      Thanks! :D@@LeadyvashKC

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

      Same here I never got any chance to learn graphics so anything related is like arcane magic to me lol.

  • @star_man
    @star_man 5 місяців тому +17

    At 15 years old I made a Reversi/Othello game in BASIC on an Amstrad 6128 that you played against the computer... I'm extremely impressed with this 15 year old.

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

      it IS super impressive, but in your defense the difference in toolsets is sort of like comparing a sloop to a modern aircraft carrier :P

  • @mrslade510
    @mrslade510 5 місяців тому +28

    Damn, at 15 I couldn't even write a for loop properly

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

      Well, sentence structure doesn't look Ukrainian at all so if this was written by one, they're very proficient in English - C1 at least. I suspect bait mail by someone either significantly older and/or not Ukranian (name is Anglo-Saxon derivative and not common in UE at all..) idk, might be wrong.

    • @half_invisible
      @half_invisible 3 місяці тому +2

      Ehhhh, as another, non-native speaking 15-year-old programmer I feel like he definitely could've pulled off a professional mail like that. Clues like the capitalization of certain acronyms also feel like they've been written by a teen.

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

      same, agreed

  • @NickDirtyDolce
    @NickDirtyDolce 5 місяців тому +28

    I have been writing game engines professionally for 15 years and would love a series on it! I am a self taught engineer who is always looking to improve on all fronts. Being open minded to new solutions is a great learning tool.

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

      Wow! I imagine you must pick up all sorts of things. Do you have a favorite thing you discovered or learned?
      Oh.. and is there any commercial product you worked on, or just closed source?

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

      Ages ago I made a game called Brawlhalla. I am currently working on an unannounced project. My favorite topics are graphics programming and memory management. A large portion of my passion and day to day involves working on tools and pipelines for artists. My actual degree is in art so I suppose it comes more natural.

  • @Eduard_0110
    @Eduard_0110 5 місяців тому +43

    The problem with brightness can be fixed if you use about 15 - 20 samples per pixel, because the default is 5. And it also might be because of the too bright HDR image that is set as the default. In that app you can change the skybox. Thanks a lot for the review!

    • @breachbase
      @breachbase 5 місяців тому +3

      Прикольний проект! Я теж Українець, і теж в 16 побудував схожий рей трейсер, але по функціональності, він далеко від твого 😅

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

      Класно вийшло) Я в свої 19 нічого подібного так і не зробив

    • @anthonysteinerv
      @anthonysteinerv 5 місяців тому +6

      You're a beast of a 15-year-old mate! Keep grinding, you will be doing crazy things in few years!

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

      Я тільки почав займатися графічним програмуванням, як і місяць тому, хоча воно повністю відрізняється від інших аспектів програмування, я думаю, що мені це дуже подобається.
      Used google translate btw. 😁

    • @Eduard_0110
      @Eduard_0110 5 місяців тому +3

      @@acestandard6315 I think it is different form most aspects of programming because of how much maths it involves. Honestly, I don't think that my project is hard in terms of the code, its structure. However, I think that the maths part of it is what makes look good and look as a good project as a whole. Computer graphics is hard and complicated in some parts, but this is why I love it, and spent about 5 months studying it, spending about 10 hours on some days just to understand how refraction works and how to implement it in my project. So, overall, I think computer graphics is different from everything else because of its maths behind it, but machine learning is also full of maths for example but is not as interesting to me as computer graphics. P. S. I didn't use google translate)

  • @nestor1208
    @nestor1208 5 місяців тому +6

    I'm a middle C++ SE, and I am watching these videos mostly because of your wisdom on architecture and optimization. Very useful when we dive into that. And mostly out of habit, because I've grown as a specialist practically solely on your videos. Thanks for that, btw

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

    I just want you to know that I absolutely love when you go into the weeds of things. There's actually so much to learn it's insane, and I'm all for it so yes please.

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

    I previously followed tutorials on GPU path tracing and had similar accumulation issues accumulating samples. A lot of care is needed about the RGBA formats used of course. Floating point RGBA doesn’t immediately save you as you might simplistically think and quantisation/saturation leads to high contrast/colouring

  • @overcommon7662
    @overcommon7662 5 місяців тому +3

    I love the code reviews. Excited to watch!

  • @LetsDark
    @LetsDark 5 місяців тому +111

    I watch this videos for fun, but yes you are repeating yourself a lot. I'm 24 min in and we haven't looked at anything specific for this project. Just setup, GL and main function. What about the "problems" you saw in the demo, like the brightness?

    • @buchnejf
      @buchnejf 5 місяців тому +11

      There was a lot to fix, comment on, and understand before getting into the project.

  • @FS-fx1it
    @FS-fx1it 5 місяців тому +5

    Yes, you are indeed wrong! I'm a professor in computer science :) I do not watch it (just) for entertainment ;) There is always something you can learn from others! Hence I check out your stuff to see new ways to solve a problem. In this case I'm impressed what a 15y old can do! Those ppl are exactly what we need at our universities ;)

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

    This is pretty sick! I'm 16 and made a voxel raytracer of my own last year, (I was planning on making it into a pathtracer but ran into trouble when I was trying to do some smart modified DDA stepping through my octree. I might revisit it once I have my laptop working again and finish the fluid physics engine I've been wanting to work on.

    • @the_real_aristotle
      @the_real_aristotle 4 місяці тому +2

      i need to get my shit together ive been telling mself i need to code way more often for 2 years now im 17 now 💀💀 big ass waste of time

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

    Professional programmer in C and C++, always fun and informative to watch others code and opinion.

  • @oystercatcher943
    @oystercatcher943 5 місяців тому +22

    Very impressive. Funnily enough my son has just completed his A level project in C#, a ray marching path tracer. It’s not GPU so it’s much slower but lovely to see him learn this stuff

    • @sournois90
      @sournois90 5 місяців тому +8

      i wish my parents also liked the stuff we do

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

      how old is he?

    • @oystercatcher943
      @oystercatcher943 5 місяців тому +6

      @@QmVuamFtaW4 a full 17. I’m impressed with his friends too. One is training neural networks coded from scratch and one has developed a message app which the teachers are using. We underestimate young people

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

      damn, that is great. @@oystercatcher943

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

      @@oystercatcher943 The company I work at hired a 17yo as an engineer part-time. He's worked on multiple active enterprise projects so far. I'm really proud our company is investing in young developers uni grads, students and High schoolers. If you can do the job and do it well, you are worth hiring, no matter where you are in life.

  • @user-yw6nw8so2n
    @user-yw6nw8so2n 5 місяців тому +4

    also professional engineer watching this, in the backend web and systems space so nothing to do with games or graphics. I watch these to learn (I don't do much with c++, mostly Rust) and for entertainment. But I always learn a lot even though I understand very little of the graphics stuff :D

  • @0jinZ
    @0jinZ 5 місяців тому +8

    Only 15 years old. Impressive.

  • @thomaslechner1622
    @thomaslechner1622 5 місяців тому +3

    I have no idea how a 15 year guy can do things I cannot even understand fully! I am a senior hardware engineer, never got into that software secrets.... My knowledge of C++ is limited to functions, variables and classes. I have absolutely no idea about vulcan, Open GL, frame buffers, drivers, ... I cannot even draw a window using C++. My C++ programs run within the console only ;(😢

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

      I'll modify the path tracer to draw in the console, Ascii art. I once did it in python

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

    congrats on the new office🎉

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

    Hell yes, do we need this application/game engine architecture series!!! 🔥🔥

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

    OpenGL makes is a good place for someone to start learning about graphics pipelines. Like you said Vulcan is heavy.
    The only real difference between using opengl 3.3 and 4.5 is what is made available to you. If you aren't going to use the features in 4.5 it won't make the least bit of difference. The same drive is used for both. It won't improve performance or anything like that. It does provide one massive benefit though using opengl 3.3 over 4.5 it runs on more hardware. If you put that 4.5 in there and the system isn't compatible it may not run at all on the system. So using the lowest version you can get away with is generally a best practice.

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

    Haha he also just had the .sln file, im glad i took ur advice and built a nice project structure using CMake

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

    Very impressive work Eduard. Someone needs to hire that kid)

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

    I watch your videos, because I became a professional by watching your videos. You are absolutely amazing to watch for every skill level!!!

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

    Please do the architecture series!!

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

    25:00 the TauStep is a single step of the combined Tausworthe generator. The implementation looks like carbon copy of Chapter 37 of GPU Gems 3. so nothing wrong with it perse...

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

    Your a beast cherno. This kind of stuff is so hard to even learn to do. 👍👍

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

    13:39 While I watch your channel at this point mostly for entertainment, I try to constantly practice "never stop learning" mentality. Sure I may be beyond a lot of your educational content, but I do still learn from your videos often enough. Professional or not, never assume you can't learn more : )

  • @yairlevi8469
    @yairlevi8469 5 місяців тому +4

    Cherno even optimizes the camera angle. Oh, good ol' optimization habits...

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

    I love how in literally every video you have a "which is linked up here" moment where you point into the top right corner and there is NEVER a link. You forget every single time.

  • @Ross-ng4xl
    @Ross-ng4xl 5 місяців тому

    Architecture series would be amazing

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

    "next year, things are gonna happen"

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

    This project is really cool and it would be a perfect candiate to use my single -header-file platform-abstraction (libFPL) and OpenGL-loader library (Final Dynamic OpenGL Library), so you dont need any libs, any dll's, anymore it just works ;-)

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

    If this is what someone with not much C++ experience can do, I must be an infant.

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

    Thank u cherno,u are so intelligent

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

    just had to tell you that you are an amazing human being

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

    I wanted to see the shapes reflect/diffuse(etc) with the background at least
    So, your experience and stuff is really great, I'm just a short-attention-span guy who wants something visual to tie to the verbal.
    Way cool stuff for a young person to already be doing! I believe that when I was young, and assuming I had been more proactive back then, I would have been much more likely to hack something together of very questionable safety and quality

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

      You can try to build the project yourself, I fixed some of those bugs so it has to now build correctly, if you are on windows

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

    We need series about software architecture :)

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

    can you share settings of vs2022 and visual assist please?

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

    I am curious if you have projects for game development in Linux, macOS, or mobile that you can demonstrate. That way you can point out the differences to watch out for when writing for other platforms.

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

    Can start making Vulkan series too, please

  • @petertamas6397
    @petertamas6397 5 місяців тому +4

    26:54 in the section on using the uniform buffer, you mentioned that we cannot upload textures (sampler2D) to the uniform buffer.
    I recently came across the phenomenon of bindless textures in OpenGL.
    With this technique we can create a 64-bit handler for textures, which can then be loaded into shader buffers and then used for texture sampling.
    From here on, we can achieve an almost "infinite" number of textures in the shader.
    My question is, why is this technique not widely known?
    Why isn't this talked about much and doesn't seem to be used?

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

      My understanding is that Bindless, DSA, multidraw indirect, etc. that were added post 4.0 are specifically targeted to reducing driver overhead of the state and validation-heavy nature of an OpenGL driver. The reason it isn't more widely used IMO is that most projects that need to overcome that barrier are better served with vulkan/DX12/Metal. OpenGL is still very useful for learners or for projects which will never have to deal with driver-related bottlenecks. My observation is that there isn't a ton of overlap between the two, which may be why it isn't widely used. Still, I think for someone who knows core OpenGL, but finds newer lower level API's very heavy and daunting, I can see how learning the new 4.x techniques might be a good "on ramp" that sets them up to more easily transition to vulkan if they want... I'd be interested to hear if others with more experience agree/disagree. Cheers!

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

    Can you do a new C++ guide for this year ? :D

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

    Although he says he has been working on it for 5 months i don't think you can say 3600 hours, I doubt he was working on it for 24 hours a day 7 days a week for 5 months with no sleep. Just mentioning as it shows how even more impressive this work is. Great series, keep up the videos.

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

      He was just joking. Although I did spend about 8 hours of work on some days)

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

    as a 14 year old developer I feel inspired

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

    is your main computer a mac or windows ?

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

    At 34:31 on line 127 the condition should be (framesStill % 2 == 0).

  • @user-bk8rp9zj6q
    @user-bk8rp9zj6q 5 місяців тому

    Back when I was 15 years old I haven't even heard a thing about Arduino and couldn't write a Hello World.

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

    Do you still do game reactions? Was wondering what's your thought's on all 3 of the Hellblade "gameplay" trailers. Hope to see em' & thank you.

  • @LG-bb5zq
    @LG-bb5zq 5 місяців тому

    I created the sponsor block, usually someone else has blocked the segment but this time I was first, so I submitted the sponsored segment (brilliant sponser) so now if you have the extension yo dont have to watch the sponsor thanks to me.

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

    Actually, spot on observation on professionals who watch this during lunch. LOL

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

    what keyboad do you have? sounds smooth as fuck

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

    They might intentionally be using OpenGL 3.3 for hardware compatibility

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

    ..yes, mostly for entertainment while understanding about 70 - 80% of what you talking about.

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

    i see cherno i click

  • @MrMariozzz78
    @MrMariozzz78 11 днів тому

    it mean the boy made a render engine ? "homemade" engine?

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

    Nice

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

    Lmao this person was 1 when the OpenGL version they’re using was released

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

      Everything new is well-forgotten old

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

    It took me months understand shitty shaders and vao, vbo and 15 years writing pathtracer.... 😢

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

    16:02

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

    I lyke it)

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

    Im 15 and learned htmlCssJs, Php, python and cpp also lua and but cant make a simple project

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

      So you didnt really learn it then? Maybe its better to stick to one for a long time before jumping on to something new

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

      @@mrsnup I already made some projects like time, some math equations but i feel like its not enough

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

      its ok, just keep trying new things. You have a ton of time, I started when I was 13. Exploring while making small projects along the way that interested me (although I always thought, I was becoming jack of trades master of none). You can start specialising later on in life. Have fun, people forget why they like programming later on in life.

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

      @@erickoavenada969 Iam pretty sure you didnt really "learn" them eventually you know the basics, but try to really get into a language and create something like a "mini-gameengine" in for example C++ its easy and doesnt take alot of t ime, it doenst evene need a GUI or somethng

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

      Just with the knowledge of the syntax of a language does not make you a good programmer. You can try tens of different languages, but you have to choose 1 or a few and stick to them. C++ is good for game development, for example. Then try learning things like algorithms and make simple projects like some games. I began with learning python, and I used to love making simple games with pygame. Might be a good start for you

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

    As an engineer: mostly entertainment, but it's been like 15 years (... oh, God, as old as this kid!) since I last coded in C++ so there's an element of picking up tidbits of information here and there, too.

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

    Actually the only channel i cannot watch while eating cause i would've understand zero thing lol

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

    That Lybrary is sooo cute:) Hype for ukraininan developers!

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

    Wait, am I missing something, or is this check "(framesStill % 2 == 2)" never going to be true..?

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

      yeah, you are right, thanks for pointing at it. I fixed it, but it really doesn't change anything because the variable 'last_texture' is not really used

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

    15 year old, forty years of age aye

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

      I was actually 14 when I almost finished the project

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

    Did the same thing in Vulkan when I was 16 -3-

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

      Have you still got the project? I would like to look at it!

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

    Ray tracing,path tracing are easiest method of shading.

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

      lol

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

      Which ones are harder?

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

      ​@@Eduard_0110a basic rasterizer has usually more parts than a basic ray tracer.

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

      I disagree

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

    I'm sure there is lot's of math behind that software, but that's why you should try blueprints.- they just asking if it's college because they need quality prove and Star Citizen insurance and wish to be considered as European Capital of Culture. You were wrong they waiting for Strunraan, but it phased because somebody had Instance ID in the open world - that's then somebody clicked ctrl+s. This is that work behind the scenes, but it's where should say I want to do some real work because I see that picture as a painter and hear the birds in the spring.
    It's not fixing some old website - so why just don't go with latest opengl? If they give you girls you would learn anything 17:00. And here is that 6:26 should I write php artisan update or composer update - why won't just have that rebuild button? Should not search for that at the recent work place.

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

    so what if you took the poison vazzinnnne

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

    Ok, umm, yeah ok yeah, ok, ok.

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

    at least you stopped doing the thing where you throw your hands in the air, man i would always cringe seeing that

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

    )

  • @anthonysteinerv
    @anthonysteinerv 5 місяців тому +4

    Yeah man you repeat yourself like crazy. Which should not happen, 80% of the code reviews videos are you just reading the main, downloading, reading the mail, sponsoring brilliant, and talking about how you should distribute and architect some stuff, when for years you didn't have a video on these topics, and still to this day we still have to watch the same, because you haven't finished that yet.
    Without being harsh but please for god's sake stop with this pattern, download the code before, (should work) but if not fix it before, go through the project, instead of reading it live for at least an hour before doing the video, then you can write what stuff you want to do for the specific video for example in past videos talking about the physics, and just go there and debug, fix, talk about that specific stuff. I know you are pretty dam good at reading code and shit, but we are not that good so you just reading through the main is not that good as a source for learning. I think a lot of us could benefit from these changes!
    P.S. also stop with the nit picking on stuff that are not that important i.e. how people name variables, or how they instantiate stuff, when it doesn't make an impact on performance.

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

      I think you're right these things need more planning

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

    Hi I've been using C/C++ as an everyday programing language, for my studies at uni, and for my PhD now, but I can't understand why, for the love of God, you would still use windows, this is a garbage OS for anything.

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

      Why?

    • @sids911
      @sids911 5 місяців тому +6

      I feel like you should know the answer if you have a PhD. don't think it really matters which tool you use, specially gamedev is mostly related to windows.

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

      @sids911 I also use my laptop for school, with Linux it would be much harder to even create a simple powerpoint

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

      Visual C++ is a better debugger than gdb. Plus, he's a game developer. Most people play games in Windows

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

      @@Eduard_0110 This is a skill issue not a Linux issue. You can use the online version of Office 365, Libre Office/a FOSS alternative, write your slides in one of the many available markdown/javascript frameworks, etc. etc. etc. Also people are talking about development environments for C++ and you're here talking about Powerpoint...💀
      To the OP of the comment thread, Windows in not garbage for Windows dev or game dev. That much should be obvious to someone doing a PhD.
      To the person who truly believes "Visual C++ is a better debugger than gdb", I strongly doubt you have the experience with GDB to correctly assess this, but even so GDB is not the only debugger or debugging tool available on Linux.

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

    I feel like cmake and autotools should be an early port of call for learning c/c++ development. Also, why are these projects always in Windows? You get such better system control, customibility, etc. using Linux. Its also then easy to create Windows builds with small edits to the build files (since I know people come at Linux cause "but most users use windows". I just feel like the dev process is much easier to control in Linux, nothing is done in the background for me, so I get to actually decide what happens)

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

      Windows has much lower entry point and not everyone wants to setup Linux environment

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

      I also use my laptop for school, I can't imagine doing a power point about something on Linux

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

      I have been using linux for development for a long time although I agree with the sentiment, windows is pretty good for game dev believe it or not because of its target being mostly windows. I still don't like daily driving linux for entertainment and mundane tasks, its by far the worst at it ( although I stick to it because I don't consume enough content to justify the productivity negatives of switching to windows other than games). I would spare the kids lol for this.

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

      Дуже гарний проект вийшов)

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

      Дякую!@@shauas4224

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

    or why visual studio does not make all paths relative by default... user experience - -. every package, tool, IDE, is a new language to learn, keep it simple. interface is a language, to talk to with. darn those quarts. if next level means more complex less intuitive then darn them. holy c/c++ is complex with the features. language designers darn. Java templates support is not finalized if you cant array default all types of objects. the point is you are not in a hurry in all cases. hurry releases makes bad quality assurance. so much generational burden, in vain. if it can fail it will fail. btw that style of scene, or any scene, would be cheaper to just raster the whole scene from a point, instead of tracing the rays. understanding and making everything yourself is usually better than just using a library or gpu routine, like loading/saving models and doing the cpu ray/plane tracing intersection math etc. yep diy lets you make them again when ever required, and be broadly skilled to do everything, not having to copy from anyone.

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

      what library, just pure language features, cut the bloat from the floats, and executable sizes

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

      about the Java generic/template objects, Objects[] array can bypass the specific array allocation of generic objects limitation, with an unchecked cast when dealing with the array, c/c++ style. I mean you can do IndexSort[] testarray = (IndexSort[]) new Object[5]; (

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

      defaults people defaults, must always be the best, not needing configuration by default, avoid needing configuration at all costs

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

    Open G Lame.

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

      whats wrong with it?

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

    i love cherno