Perfect Reflections - 034 - The Ray Tracer Challenge

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ก.ค. 2024
  • Reflecting surfaces make everything more lifelike. Due to our previous work they aren't that hard to implement. Let's do it!
    Join me, while I implement chapter by chapter from the book "The Ray Tracer Challenge" by Jamis Buck in Rust a language completely new to me.
    Come with me on the journey of learning the Rust programming language, while implementing a Ray Tracer in a Test driven fashion, to have fun and (hopefully) create some astonishing rendered graphics.
    Let's study the inner workings of a Ray Tracer, and take a look under the hood of the Rust language, while taking on this challenge on a weekly basis.
    All the code produced within this series is provided on github, for you to
    follow along.
    Github: github.com/jakobwesthoff/the_...
    The Ray Tracer Challenge (affiliate): amzn.to/3xVssbR
    Rust: www.rust-lang.org/
    Contents
    0:00:00 - Intro
    0:00:46 - Recap
    0:01:09 - raytracer.xyz
    0:02:08 - Upcoming
    0:04:18 - How reflection rendering works
    0:09:13 - Prelimenary work: Reflectiveness of a Material
    0:11:17 - A little detour: Refactoring Phong material to use the builder pattern
    0:17:58 - Back to the reflectiveness property
    0:22:34 - Calculating the reflection vector
    0:34:41 - Debugging the failing reflection test
    0:38:41 - Using the reflection vector for color calculation
    0:41:44 - We need a Reflective trait
    0:44:43 - The reflected_color_at calculation
    0:52:58 - Limiting the recursion level
    1:06:21 - Adding reflectiveness to the YAML parser
    1:07:56 - First reflective rendering
    1:12:55 - Playing around with reflective renderings
    1:16:46 - A perfectly reflective sphere
    1:17:38 - Effect of maximum reflection depth
    1:21:27 - Rendering more reflective and shiny things
    1:27:01 - Outro
    #reflection #raytracer #rustlang
  • วิทยาศาสตร์และเทคโนโลยี

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

  • @workflowinmind
    @workflowinmind 2 ปีที่แล้ว

    Hey Jakob, keep them coming, your channel is gold !!

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

      Thank you very much. I am sorry for not having released a new video in such a long time. There will be more in the future, that I can assure you. In the last two month I nearly didn’t have any spare time to work on this project. But I am seeing the light at the end of the tunnel. Therefore I hope there will be a new session out soon, covering refraction and there stuff like glass 😁

    • @workflowinmind
      @workflowinmind 2 ปีที่แล้ว

      @@MrJakob Didn't wanted to pressure you! I know how hard it is to find time these days. I discovered the series last week and have watched most of it and really liked the approach/commentary and of course the project. I just wanted to show interest to motivate you! Take your time

  • @xr.spedtech
    @xr.spedtech ปีที่แล้ว +1

    Did rust speed up the render speed or is that just your Processor's FPU ?

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

      The implementation is purely cpu bound, as none of the computation is done on the gpu. It would be possible of course to use the gpu to enormously speed up the calculation. The main speed bump for the implementation was to utilize all processor cores using the rayon library. There is a session about when I discovered that as well.

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

    Will it be a raytracer or a pathtracer?