Materials and Physically Based Rendering // Ray Tracing series

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ก.ย. 2024

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

  • @TheCherno
    @TheCherno  ปีที่แล้ว +17

    Hope you guys enjoyed this episode - it’s getting super exciting now! Don’t forget to learn all your math at brilliant.org/TheCherno/ Get started for free, and hurry-the first 200 people get 20% off an annual premium subscription.

    • @ChrisM541
      @ChrisM541 ปีที่แล้ว

      Hey Cherno, (if the following makes sense...) any chance you could test out something I'm sure every gamer/new & some old coders will find extremely interesting, something I haven't seen anyone do:-
      From what I see, there's a lot of folks out there that think "the GPU does all the work" and don't realise just how much the CPU contributes to frametime/fps, and thus, how crucial it is to try to ensure your code is 'the best it can be' and to try to think about speed optimisation at all times inside the game loop (and any associated processes/dependencies).
      To show how the CPU(the programmer's game code) contributes...
      Could you test the maximum frame throughput for any typical gfx card, using pre-set frames, basically switching off everything else in the gameloop (no input/collision detection/ui update etc etc checks) apart from only the code that sends a frame to the GPU (i.e. as little CPU involvement here as possible). I don't know if the GPU 'speeds up' things if the frames are identical, if so, set up minor/enough changes to defeat that. Then, re-enable the switched off game loop items and test again. This is to show folk how much the CPU contributes to frametime/fps in a typical game loop. No problem throwing in a 'slowdown loop' inside the gameloop if frametimes are 'too fast' (of course, keep the slowdown code active for both cases...we're only measuring the frametime difference).

    • @pavelperina7629
      @pavelperina7629 ปีที่แล้ว

      Hi. Looking at "shader" code at 20:17 or 26:10 i see some issue that is basically in any book older than 10 years. Computer screen uses gamma correction. Half black is not 128, but something like 180, i can't recall. What you may try is adding something like `vec3 matDiffCol = pow(u_color,vec3(2.2));` at start of your shader and something like `fragmentColor = vec4(pow(color, vec3(1.0/2.2)), 1.0);` at the end. Gray value (186.0/255)^2=0.5 for purposes of shading and color mixing and in the end half gray is converted to RGB=186,186,186. Even more correct is to use some different color space for recovery in areas where RGB values are clipped which may result to false colors in areas where one or two colors are oversaturated, but I have no experience with this.
      Main problem (at least for me) with PBR is getting good materials. Like porcelain covered with glass, making aluminum somewhat coarse and somewhat oxidized, so not pure metal, making some microtexture ... actually it's basically impossible. So in the end most noticeable improvement is Fresnel reflection which depends on angle. If you do raytracing or you have nice cubemap around the scene (or procedural color)

  • @AndyEder
    @AndyEder ปีที่แล้ว +23

    Having worked in real-time and offline graphics rendering tech for 30 years, seeing such a well-thought-out and presented series on ray tracing is excellent. Thanks for introducing this exciting field to more people.

  • @spacechannelfiver
    @spacechannelfiver ปีที่แล้ว +14

    These are some of the most realistic hand movements I've ever seen in computer graphics. Recent Meta presentations clearly fell into the uncanny valley.

  • @aurealisgraphics
    @aurealisgraphics ปีที่แล้ว +7

    Neat episode! I still want to mention though, that jittering the reflected ray doesn't yet make it physically based, as it isn't based on any microfacet profile or PDF. Still a great way to introduce new people to the subject though; talking about the GGX PDF or the GGXVNDF might be interesting for future episodes!

  • @goshisanniichi
    @goshisanniichi ปีที่แล้ว +4

    Pretty easy to add Fresnel reflection at this point as well. I'm looking forward to transparency, especially internal reflection.

  • @arsenbabaev1022
    @arsenbabaev1022 ปีที่แล้ว +77

    Its sad seeing every new episode in a series getting less and less views. The topics are interesting on their own even without trying to replicate them.

    • @Notverygoodatall
      @Notverygoodatall ปีที่แล้ว +20

      That's how most educational series go. Even if they are interesting

    • @espertalhao041
      @espertalhao041 ปีที่แล้ว +6

      The video was published less than 2 hours ago, at a not-so-good time for Americans and Europeans.
      The video will get more views with time.

    • @lolcat69
      @lolcat69 ปีที่แล้ว +2

      i mean yeah, is sad, but you literally saw the video when it was just uploaded, so dont espect 1M views in less than an a week lol

    • @rand0mtv660
      @rand0mtv660 ปีที่แล้ว +9

      @@espertalhao041 I would say this person isn't necessarily referring to this video in particular. If you go back and look at all videos in this series, there is a steady decline in views. This is of course unfortunate because the series is pretty interesting.

    • @Qubaef
      @Qubaef ปีที่แล้ว +4

      It's just that this series is pretty bad. 9 episodes in and he is still explaining super basic concepts which anyone interested can learn in less than few hours from better resources. There is no proper target audience for it. If you are programmer, you don't need this series. If you are just a hobbyist, you don't care about the 20 minutes of coding.

  • @sozno4222
    @sozno4222 3 หลายเดือนก่อน +1

    I’m a bit confused when you said Albedo is the non reflective color and then continued and said ‘what about the reflectiveness’. Everything about materials is about reflectiveness, including albedo. The different parameters simply say what should be reflected and when. A red color means it’s returning red light. Right?

  • @esphix
    @esphix 4 หลายเดือนก่อน

    0:52 Having been a professional light source with over 10 lightyears of experience, I can definitely confirm that it is easy and straight forward being a light source

  • @attilabacsa2808
    @attilabacsa2808 หลายเดือนก่อน

    Amazing! You deserve tons of more viewers. 🎉

  • @aidandalzell3812
    @aidandalzell3812 ปีที่แล้ว +1

    what you could say in that intro is that materials are important for all render methods and that the main thing for ray tracing is lighting

  • @Alkanen
    @Alkanen ปีที่แล้ว +1

    Hi there @TheCherno! Do you know when you'll continue on this part and build a texture/material pipeline for the tracer?
    Optimisation is good of course, but getting pretty pictures is more fun :)

  • @RahulGuha-lq8bo
    @RahulGuha-lq8bo ปีที่แล้ว

    After watching ur c++ videos from 5 years and seeing you now , u have changed quite a lot

  • @n0msayn
    @n0msayn ปีที่แล้ว

    This is the first video I've seen from you, and I am amazed at how engaged I am. Your teaching skills are really good

  • @DerrickCanfield
    @DerrickCanfield ปีที่แล้ว +4

    I am currently a light source and can confirm it is very easy. However the human body emits an extremely small amount of light.

  • @timsonss
    @timsonss ปีที่แล้ว +1

    I was looking for graphics tutorials starting with PBR yesterday and wished you had videos on this topic. I have a weird feeling now that this has happened like I am a fortune teller!

  • @Swistakaqq01
    @Swistakaqq01 ปีที่แล้ว +1

    Hi Cherno, im curious if you could look at NVIDIA's "Generalized Resampled Importance Sampling" (GRIS) and have a talk / video about it and maybe how to we could use some of this ideas to enchance the renderer. (There is a great video about this from Two Minute Papers called: "Ray Tracing: How NVIDIA Solved the Impossible!")

  • @pawelstolecki3491
    @pawelstolecki3491 8 หลายเดือนก่อน

    thanks for making the content, very useful!

  • @MerrickKing
    @MerrickKing ปีที่แล้ว +17

    Well the world revolves around me, so I guess I must be a light source

  • @brannonharris4642
    @brannonharris4642 ปีที่แล้ว

    loved this one, dude. Fantastic explanation and pacing.

  • @per-axelskogsberg3861
    @per-axelskogsberg3861 ปีที่แล้ว +1

    Neat, you explained it very well.

  • @mr.mirror1213
    @mr.mirror1213 ปีที่แล้ว

    This series is soo good , I was struggling to implement raytracing

  • @redafakih12
    @redafakih12 ปีที่แล้ว +1

    What a series🔥

  • @HazStepFTW
    @HazStepFTW ปีที่แล้ว

    Ray tracing series always has the best thumbnails 😂

  • @thedebapriyakar
    @thedebapriyakar ปีที่แล้ว

    I fucking love you Chernikov

  • @asteriskman
    @asteriskman ปีที่แล้ว

    yea, lets talk more about this path tracing concept!

  • @neozoan
    @neozoan ปีที่แล้ว

    Well done! Thank you!

  • @rouchy_
    @rouchy_ ปีที่แล้ว +2

    If I hadn't the videocard with RTX feature support, Am I still can follow this series?

    • @anon_y_mousse
      @anon_y_mousse ปีที่แล้ว +2

      Yeah, thus far he's not done any hardware acceleration. It's just software based.

    • @Howtheheckarehandleswit
      @Howtheheckarehandleswit ปีที่แล้ว +2

      So far, absolutely! Obviously, since I am not the one making the videos, I can't promise what the Cherno will do in the future, but so far we have actually been doing all the rendering on the CPU, so which video card you have makes no difference at all. If I had to guess, I suspect Cherno will not make it require an RTX card in the future, since that would limit his audience to people with RTX cards

  • @MrMariozzz78
    @MrMariozzz78 3 หลายเดือนก่อน

    whay library can i use with code-block from programming in c++ e raytracing?

  • @user-yw9ib8do6c
    @user-yw9ib8do6c ปีที่แล้ว

    really helpful!

  • @patriotaRBC
    @patriotaRBC ปีที่แล้ว

    I'd like to see some tutorial on terrain editor. That'd be great

  •  ปีที่แล้ว

    So what kind of model is actually used in games today? I mean, do you use ray tracing in real time in a game? How do game engines render point light effects? Is Phong model still used?

  • @friction5001
    @friction5001 ปีที่แล้ว +1

    Even though I’m not a game dev this is interesting

    • @troyhancock9293
      @troyhancock9293 ปีที่แล้ว +2

      To be fair, a lot of rendering engineering jobs and the skillset are not necessarily game dev related. It just so happens game dev needs rendering engineers, same with the finance industry and a lot of R&D stuff.

  • @bishboria
    @bishboria ปีที่แล้ว

    The effect of the additions add up pretty quickly. it's looking great

  • @BlueBeluga_
    @BlueBeluga_ ปีที่แล้ว

    Can someone explaine to me what the difference between raytracing and radiosity is?

  • @kamil_atakan
    @kamil_atakan ปีที่แล้ว

    Hi cherno!

  • @diligencehumility6971
    @diligencehumility6971 ปีที่แล้ว

    Damn bro, you have taken on a few extra pounds. Me too. I am becoming fat. Let us stop this madness! You looked way better without thick cheeks, and so did I. Let's change this.

  • @coffee-is-power
    @coffee-is-power ปีที่แล้ว

    Based

  • @st3b3d
    @st3b3d ปีที่แล้ว

    Hey Cherno, its time to do your obligatory apology video. Your youtube channel is getting to the point of needing some edgy drama. All big youtube channels have to do this at some point.
    I think it would be good to apologize for being Australian. That would do good.

  • @Jkauppa
    @Jkauppa ปีที่แล้ว

    how do you learn to give and not pay for free stuff

    • @Jkauppa
      @Jkauppa ปีที่แล้ว

      set no pre-conditions, then you are free from the money-law master of yours

    • @Jkauppa
      @Jkauppa ปีที่แล้ว

      I'm not in any hurry, not me by Christ in me, Christ as me

    • @Jkauppa
      @Jkauppa ปีที่แล้ว

      money is not an acceptable (consumable) produce

    • @Jkauppa
      @Jkauppa ปีที่แล้ว

      therefore all things mingled with money are tainted

    • @Jkauppa
      @Jkauppa ปีที่แล้ว

      the whole thing becomes useless