The color(ray) function linearly blends white and blue depending on the up/downess of the y coordinate. I first made it a unit vector so -1.0 < y < 1.0. I then did a standard graphics trick of scaling that to 0.0 < t < 1.0. When t=1.0 I want blue. When t = 0.0 I want wh...
“光线追踪(Ray Tracing)”可以有很多种意思,本书中描述的是一种较为常见的路径追踪(Path Tracing)。本文的代码很简单,但是我相信渲染效果还是能令你们满意的。 When somebody says "ray tracing" it could mean many things. What I am going to describe is technically a path tracer, and a fairly general...
随着英伟达发布RTX系列显卡,光线追踪技术变得异常火热。因此,我决定着手制作一个光线追踪器(Ray Tracer)。在制作过程中,我找到了名为《Ray Tracing in one Weekend》的教材,这本书以它友好的数学内容和清晰的代码帮助了我。尽管我无法在一个周末内完成一个小型的光线追踪器,但在一周内,我顺利地...
紧接上文:zhing2006:Ray Tracing in One Weekend - 一周末光线追踪(上)(4.0.0-alpha.2中文版翻译)可定位的相机相机调试不易,我常逐步开发。首先允许调整视场(fov),这是从渲染图像边缘到边缘的视觉角度。垂直fov总是优先使用,在构造函数内指定度数后转换为弧度。相机视图几何保持光线从原点出...
电子书《Ray Tracing in One Weekend》是一本由Peter Shirley、Trevor David Black和Steve Hollasch共同撰写的教程书籍,期望帮助读者在短短一个周末内构建一个基础的光线追踪程序。书中详细介绍了光线追踪的基本概念、编程步骤和调试技巧,从输出图像开始,逐步深入到材质、反射、折射等高级特性,最终引导读者实现一个能够...
【Ray Tracing in One Weekend 超详解】 光线追踪1-4 我们上一篇写了Chapter5 的第一个部分表面法线,那么我们来学剩下的部分,以及Chapter6. Chapter5:Surface normals and multiple objects. 我们这一节主要向场景中添加对象。 依据代码重用原则,此时应该抽象出对象创、绘制的公共部分...
【Ray Tracing in One Weekend 超详解】 光线追踪1-2之美,今天我们开始进入正篇Chapter3:Rays,asimplecamera,andbackground对于所有的光线追踪器,基本都有一个光线类,计算沿光线看到的颜色。我们的光线是一个矢量运算:p(t)=a+t*b.书中的向量用大写粗体字表示,但这里我
这次修订力求更加贴近中文口语,例如将“Some people don't like this because it doesn't prevent you from doing something silly, like adding a color to a location.”翻译为“这个做法肯定有它的问题——可能出现“颜色+位置”这种憨批操作。”书中大量采用了口语化表达,我希望在中文版中尽可能...
为了优化程序性能,我们限制了递归调用层级,避免函数栈过载问题。通过调整ray_color函数,我们实现了更为准确的阴影效果,同时加入了gamma 2空间的处理,使得图像更加符合人眼感知,球体更加明亮。在漫反射材质的探索中,我们还识别并修复了一个潜在的bug,避免了光线在反射后再次与自身相交的情况。通过改进...