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

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.

Пікірлер: 159

  • @TheCherno
    @TheCherno4 ай бұрын

    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

    4 ай бұрын

    Legend :))

  • @nerdastics3987

    @nerdastics3987

    4 ай бұрын

    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

    4 ай бұрын

    @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 ай бұрын

    @@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
    @KDSBestGameDev4 ай бұрын

    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

    4 ай бұрын

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

  • @forbiddensongs
    @forbiddensongs4 ай бұрын

    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

    4 ай бұрын

    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

    4 ай бұрын

    Thanks! :D@@LeadyvashKC

  • @Illmare

    @Illmare

    4 ай бұрын

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

  • @star_man
    @star_man4 ай бұрын

    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

  • @sumikomei
    @sumikomei4 ай бұрын

    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.

  • @nestor1208
    @nestor12084 ай бұрын

    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

  • @NickDirtyDolce
    @NickDirtyDolce4 ай бұрын

    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

    3 ай бұрын

    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

    3 ай бұрын

    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.

  • @overcommon7662
    @overcommon76624 ай бұрын

    I love the code reviews. Excited to watch!

  • @misfit510
    @misfit5104 ай бұрын

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

  • @blazbohinc4964

    @blazbohinc4964

    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 ай бұрын

    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

    19 күн бұрын

    same, agreed

  • @debbyda
    @debbyda4 ай бұрын

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

  • @mrcrackerist
    @mrcrackerist4 ай бұрын

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

  • @kamil_atakan
    @kamil_atakan4 ай бұрын

    congrats on the new office🎉

  • @Eduard_0110
    @Eduard_01104 ай бұрын

    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

    4 ай бұрын

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

  • @skal3802

    @skal3802

    4 ай бұрын

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

  • @anthonysteinerv

    @anthonysteinerv

    4 ай бұрын

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

  • @acestandard6315

    @acestandard6315

    4 ай бұрын

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

  • @Eduard_0110

    @Eduard_0110

    4 ай бұрын

    @@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)

  • @hex697
    @hex6974 ай бұрын

    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 ай бұрын

    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

  • @oystercatcher943
    @oystercatcher9434 ай бұрын

    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

  • @LetsDark
    @LetsDark4 ай бұрын

    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

    4 ай бұрын

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

  • @quizcanners
    @quizcanners4 ай бұрын

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

  • @sadunozer2241
    @sadunozer22414 ай бұрын

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

  • @steveafanador6441
    @steveafanador64414 ай бұрын

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

  • @y4ni608
    @y4ni6084 ай бұрын

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

  • @Ross-ng4xl
    @Ross-ng4xl4 ай бұрын

    Architecture series would be amazing

  • @oystercatcher943
    @oystercatcher9434 ай бұрын

    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

    4 ай бұрын

    i wish my parents also liked the stuff we do

  • @QmVuamFtaW4

    @QmVuamFtaW4

    4 ай бұрын

    how old is he?

  • @oystercatcher943

    @oystercatcher943

    4 ай бұрын

    @@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

    4 ай бұрын

    damn, that is great. @@oystercatcher943

  • @mrwalter1049

    @mrwalter1049

    4 ай бұрын

    @@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.

  • @FS-fx1it
    @FS-fx1it4 ай бұрын

    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 ;)

  • @user-yw6nw8so2n
    @user-yw6nw8so2n4 ай бұрын

    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

  • @harywhiteproductions
    @harywhiteproductions4 ай бұрын

    Please do the architecture series!!

  • @nashiora
    @nashiora4 ай бұрын

    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 : )

  • @0jinZ
    @0jinZ4 ай бұрын

    Only 15 years old. Impressive.

  • @copilou2
    @copilou24 ай бұрын

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

  • @skal3802
    @skal38024 ай бұрын

    We need series about software architecture :)

  • @GRHmedia
    @GRHmedia4 ай бұрын

    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.

  • @F1nalspace
    @F1nalspace4 ай бұрын

    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 ;-)

  • @heclaire2898
    @heclaire28984 ай бұрын

    Thank u cherno,u are so intelligent

  • @yairlevi8469
    @yairlevi84694 ай бұрын

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

  • @MrSofazocker
    @MrSofazocker3 ай бұрын

    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...

  • @Alkanen
    @Alkanen4 ай бұрын

    "next year, things are gonna happen"

  • @mjthebest7294

    @mjthebest7294

    4 ай бұрын

    Hopefullyyy

  • @Oxxyjoe
    @Oxxyjoe4 ай бұрын

    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

    4 ай бұрын

    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

  • @jfftck
    @jfftck4 ай бұрын

    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.

  • @thomaslechner1622
    @thomaslechner16224 ай бұрын

    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

    4 ай бұрын

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

  • @notflask
    @notflask4 ай бұрын

    can you share settings of vs2022 and visual assist please?

  • @CatzHoek
    @CatzHoek4 ай бұрын

    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.

  • @practicaltheory6604
    @practicaltheory66044 ай бұрын

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

  • @The1RandomFool
    @The1RandomFool4 ай бұрын

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

  • @CODEDSTUDIO
    @CODEDSTUDIO4 ай бұрын

    Can start making Vulkan series too, please

  • @spotnag6854
    @spotnag68543 ай бұрын

    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

    3 ай бұрын

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

  • @mikebrown9051
    @mikebrown90514 ай бұрын

    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.

  • @BenBE1987
    @BenBE19873 ай бұрын

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

  • @petertamas6397
    @petertamas63974 ай бұрын

    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

    4 ай бұрын

    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!

  • @18PregnantAndProud
    @18PregnantAndProud4 ай бұрын

    is your main computer a mac or windows ?

  • @LG-bb5zq
    @LG-bb5zq4 ай бұрын

    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.

  • @fazin85
    @fazin85Ай бұрын

    as a 14 year old developer I feel inspired

  • @jonforhan9196
    @jonforhan91964 ай бұрын

    i see cherno i click

  • @user-bk8rp9zj6q
    @user-bk8rp9zj6q4 ай бұрын

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

  • @SwedishviKingohnoes
    @SwedishviKingohnoes4 ай бұрын

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

  • @thymme7508
    @thymme75084 ай бұрын

    what keyboad do you have? sounds smooth as fuck

  • @OleZZ222
    @OleZZ2224 ай бұрын

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

  • @iXenox
    @iXenox4 ай бұрын

    They might intentionally be using OpenGL 3.3 for hardware compatibility

  • @jell0goeswiggle
    @jell0goeswiggle4 ай бұрын

    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.

  • @depralexcrimson
    @depralexcrimson4 ай бұрын

    Nice

  • @zanagi
    @zanagi4 ай бұрын

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

  • @pavliv
    @pavliv2 ай бұрын

    I lyke it)

  • @GameGevUA
    @GameGevUA4 ай бұрын

    16:02

  • @Netryon
    @Netryon4 ай бұрын

    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.

  • @emperorpalpatine6080

    @emperorpalpatine6080

    4 ай бұрын

    are you okay ?

  • @joedartonthefenderbass

    @joedartonthefenderbass

    4 ай бұрын

    What the fuck 😭

  • @Netryon

    @Netryon

    4 ай бұрын

    @@emperorpalpatine6080 I promise

  • @QmVuamFtaW4

    @QmVuamFtaW4

    4 ай бұрын

    bro what the hell are you talking about?

  • @Eduard_0110

    @Eduard_0110

    4 ай бұрын

    okay

  • @stalkerkk
    @stalkerkk4 ай бұрын

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

  • @erickoavenada969
    @erickoavenada9694 ай бұрын

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

  • @mrsnup

    @mrsnup

    4 ай бұрын

    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

    4 ай бұрын

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

  • @sids911

    @sids911

    4 ай бұрын

    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

    4 ай бұрын

    @@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

    4 ай бұрын

    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

  • @The14Some1
    @The14Some14 ай бұрын

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

  • @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

  • @u28OO
    @u28OO4 ай бұрын

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

  • @Eduard_0110

    @Eduard_0110

    4 ай бұрын

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

  • @lanchanoinguyen2914
    @lanchanoinguyen29144 ай бұрын

    Ray tracing,path tracing are easiest method of shading.

  • @ShredST

    @ShredST

    4 ай бұрын

    lol

  • @Eduard_0110

    @Eduard_0110

    4 ай бұрын

    Which ones are harder?

  • @kalisticmodiani2613

    @kalisticmodiani2613

    4 ай бұрын

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

  • @Eduard_0110

    @Eduard_0110

    4 ай бұрын

    I disagree

  • @mithadis
    @mithadis4 ай бұрын

    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

  • @alainfreedom3159
    @alainfreedom31594 ай бұрын

    so what if you took the poison vazzinnnne

  • @anispinner
    @anispinner4 ай бұрын

    15 year old, forty years of age aye

  • @Eduard_0110

    @Eduard_0110

    4 ай бұрын

    I was actually 14 when I almost finished the project

  • @MudhenTV
    @MudhenTVАй бұрын

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

  • @boyohoyo1569
    @boyohoyo15694 ай бұрын

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

  • @jonathanfaller1894
    @jonathanfaller18944 ай бұрын

    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

    4 ай бұрын

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

  • @Eduard_0110

    @Eduard_0110

    4 ай бұрын

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

  • @sids911

    @sids911

    4 ай бұрын

    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

    4 ай бұрын

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

  • @Eduard_0110

    @Eduard_0110

    4 ай бұрын

    Дякую!@@shauas4224

  • @ProkerKusaka
    @ProkerKusaka4 ай бұрын

    )

  • @anthonysteinerv
    @anthonysteinerv4 ай бұрын

    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
    @yanononopon4 ай бұрын

    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

    4 ай бұрын

    Why?

  • @sids911

    @sids911

    4 ай бұрын

    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

    4 ай бұрын

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

  • @ShredST

    @ShredST

    4 ай бұрын

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

  • @not_ever

    @not_ever

    4 ай бұрын

    @@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.

  • @gsestream
    @gsestream4 ай бұрын

    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

    4 ай бұрын

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

  • @gsestream

    @gsestream

    4 ай бұрын

    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

    4 ай бұрын

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

  • @mildheadwound
    @mildheadwound4 ай бұрын

    Open G Lame.

  • @Eduard_0110

    @Eduard_0110

    4 ай бұрын

    whats wrong with it?

  • @whwahhdsh
    @whwahhdsh4 ай бұрын

    i love cherno