Materials and Physically Based Rendering // Ray Tracing series

Поделиться
HTML-код
  • Опубликовано: 19 окт 2024

Комментарии • 90

  • @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 Год назад +24

    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.

  • @attilabacsa2808
    @attilabacsa2808 2 месяца назад

    Amazing! You deserve tons of more viewers. 🎉

  • @RahulGuha-lq8bo
    @RahulGuha-lq8bo Год назад

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

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

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

  • @magnuswootton6181
    @magnuswootton6181 Месяц назад

    its a proper reflecting raytracer, im digging it!

  • @sozno4222
    @sozno4222 4 месяца назад +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 5 месяцев назад

    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

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

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

  • @pawelstolecki3491
    @pawelstolecki3491 10 месяцев назад

    thanks for making the content, very useful!

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

  • @brannonharris4642
    @brannonharris4642 Год назад

    loved this one, dude. Fantastic explanation and pacing.

  • @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!")

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

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

  • @neozoan
    @neozoan Год назад

    Well done! Thank you!

  • @asteriskman
    @asteriskman Год назад

    yea, lets talk more about this path tracing concept!

  • @HazStepFTW
    @HazStepFTW Год назад

    Ray tracing series always has the best thumbnails 😂

  • @redafakih12
    @redafakih12 Год назад +1

    What a series🔥

  • @MerrickKing
    @MerrickKing Год назад +17

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

  • @thedebapriyakar
    @thedebapriyakar Год назад

    I fucking love you Chernikov

  • @bishboria
    @bishboria Год назад

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

  • @冯兴毓
    @冯兴毓 Год назад

    really helpful!

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

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

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

  • @MrMariozzz78
    @MrMariozzz78 5 месяцев назад

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

  • @kamil_atakan
    @kamil_atakan Год назад

    Hi cherno!

  • @BlueBeluga_
    @BlueBeluga_ Год назад

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

  • @coffee-is-power
    @coffee-is-power Год назад

    Based

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

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

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