![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
summary
图形跟班
we've got to find what we love.
展开
-
问题六十七:ray tracing学习总结(2016.11.13, 2017.02.05)
从2016.11.13开始接触ray tracing到今天2017.02.05,差不多80天的时间。截至当前,学习ray tracing的过程,也是我重新找回自己或者说是“find what I love”的过程。不再浮躁,不再急功近利,不再认为“人活着就是为了赚钱”。我现在的观点是:对个人而言,活着的意义就是“find what we love”。找到爱的人,快乐生活;找到爱的事,快乐工作。原创 2017-02-05 18:02:09 · 1772 阅读 · 2 评论 -
《Ray Tracing in One Weekend》——Chapter 5: Surface normals and multiple objects
《Ray Tracing in One Weekend》目录 第一部分:学习总结问题十四:怎么可视化球的法向量 问题十七:怎么用ray tracing画多个球? 中途又补充了点C++的东西: 问题十五:C++中抽象类,虚函数是什么鬼?怎么测试 问题十六:使用初始化列表的构造函数和使用函数体的构造函数有什么区别? 第二部分:原文截图《Ray Tracing in One Weekend原创 2017-05-21 16:09:14 · 1487 阅读 · 0 评论 -
《Ray Tracing in One Weekend》——Chapter 4: Adding a sphere
《Ray Tracing in One Weekend》目录 第一部分:学习总结问题十三:怎么用ray tracing画个球 第二部分:原文截图《Ray Tracing in One Weekend》目录原创 2017-05-21 16:02:11 · 1379 阅读 · 0 评论 -
《Ray Tracing in One Weekend》——Chapter 3: Rays, a simple camera, and background
《Ray Tracing in One Weekend》目录 第一部分:学习总结原文中提到的”background”就是咱们的第一个ray tracing图形啦。为什么时第一个,前面不是有输出一张图了吗?是的,但是,前面那张的生成方式并不是“ray tracing(光线追踪)”。 问题十二:怎么用ray tracing画第一张图 另外,当时考虑到后续可能会有各种测试,所以有了这个: 问题十原创 2017-05-21 15:56:48 · 2316 阅读 · 0 评论 -
《Ray Tracing in One Weekend》——Chapter 2: The vec3 class
《Ray Tracing in One Weekend》目录 第一部分:学习总结看源代码有点吃力,必须得先补点C++的东西。 问题三:类的头文件和实现文件分别写什么(用向量表示RGB输出“第一张图片”) 问题四:C++中inline是干嘛用的 问题五:C++中const是干嘛用的 问题六:C++中&是干嘛用的(引用类型) 问题七:operator+=()是什么鬼函数?(重载操作符)原创 2017-05-21 15:44:32 · 1899 阅读 · 0 评论 -
《Ray Tracing in One Weekend》——Chapter 1: Output an image
《Ray Tracing in One Weekend》目录 第一部分:学习总结问题二:用C++输出第一张图片 第二部分:原文截图《Ray Tracing in One Weekend》目录原创 2017-05-21 15:34:21 · 3102 阅读 · 0 评论 -
《An Introduction to Ray Tracing》——2.2 Ray/Sphere Intersection And Mapping
总结《An Introduction to Ray Tracing》全文:点这里http://blog.csdn.net/libing_zeng/article/details/726036192.2.1 Ray/Sphere Intersection光线和球相交,这个咱在《Ray Tracing in One Weekend》中学过。 问题十三:怎么用ray tracing画个球 2.2.2原创 2017-05-21 19:55:50 · 1044 阅读 · 0 评论 -
《An Introduction to Ray Tracing》—— 2.4 Ray/Box Intersection
总结《An Introduction to Ray Tracing》全文:点这里http://blog.csdn.net/libing_zeng/article/details/72603619首先,考虑简单box,即每条边都和坐标轴平行的box: 问题三十三:怎么用ray tracing画特殊长方体(box) 当时,觉得奇怪,为什么书上只介绍了这类特殊长方体的画法呢?那么其他非特殊长方体怎么办原创 2017-05-21 20:12:48 · 990 阅读 · 0 评论 -
《An Introduction to Ray Tracing》——2.3 Ray/Polygon Intersection And Mapping
总结《An Introduction to Ray Tracing》全文:点这里http://blog.csdn.net/libing_zeng/article/details/726036192.3.1 Ray/Plane Intersection光线和平面相交,太简单。所以,其实主要是研究光线和多边形相交。这里的多边形可以是凸多边形,也可以是凹多边形。 问题三十二:怎么用ray tracing原创 2017-05-21 20:04:10 · 633 阅读 · 0 评论 -
《An Introduction to Ray Tracing》—— 3.3 Ray-Surface Intersections
总结《An Introduction to Ray Tracing》全文:点这里http://blog.csdn.net/libing_zeng/article/details/726036193.3.1 Ray-Sphere Intersections3.3.2 Ray-Polygon Intersections3.3.3 Ray-Box Intersections3.3.4 Ray-Quadri原创 2017-05-22 09:14:23 · 1056 阅读 · 0 评论 -
《An Introduction to Ray Tracing》—— 2.5 Ray/Quadric Intersection And Mapping
总结《An Introduction to Ray Tracing》全文:点这里http://blog.csdn.net/libing_zeng/article/details/726036192.5 Ray/Quadric Intersection光线和二次曲面求交,当时画了各种二次曲面。问题三十五: 怎么用ray tracing画二次曲面(quadratic surfaces)(1)——椭球面问原创 2017-05-22 08:05:11 · 573 阅读 · 0 评论 -
总结《Ray Tracing from the Ground Up》
之前已经学习过《Ray Tracing in One Weekend》和《An Introduction to Ray Tracing》的一些内容,相关总结文档链接如下: 总结《Ray Tracing in One Weekend》 总结《An Introduction to Ray Tracing》已经在《Ray Tracing in One Weekend》的源代码的基础上,拓展生成各种su原创 2017-05-22 12:41:49 · 6843 阅读 · 13 评论 -
总结《Ray Tracing in One Weekend》
如题,这是一篇“总结”性质的文章。主要时总结自己认为自己学过的学到的东西,和原著会有一定的出入。但是,总结的内容都是基于《Ray Tracing in One Weekend》教材框架的。本人是从这本书开始接触Ray Tracing的,从零开始学习,对该过程中遇到的问题加以记录。 为什么要从《Ray Tracing in One Weekend》开始上手呢?原因很简单:容易上手!!!原著kindl原创 2017-05-21 13:57:36 · 13595 阅读 · 2 评论 -
总结《An Introduction to Ray Tracing》
在学习完《Ray Tracing in One Weekend》之后,对Ray Tracing的概念及其涉及的主要方面有了大概的了解。同时,在熟悉了《Ray Tracing in One Weekend》的官方源代码之后,可以开始对Tracer进行“扩展”。接下来,就是根据《An Introduction to Ray Tracing》的内容对《Ray Tracing in One Weekend》原创 2017-05-21 19:42:43 · 5016 阅读 · 1 评论 -
《Ray Tracing in One Weekend》——Chapter 6: Antialiasing
《Ray Tracing in One Weekend》目录 第一部分:学习总结问题十八:怎么对ray tracing图形进行消锯齿 第二部分:原文截图《Ray Tracing in One Weekend》目录原创 2017-05-21 16:12:59 · 1359 阅读 · 0 评论 -
《Ray Tracing in One Weekend》——Chapter 7: Diffuse materials
《Ray Tracing in One Weekend》目录 第一部分:学习总结问题十九:怎么模拟ray tracing中漫射材料球体的颜色(diffuse materials) 当时,觉得生成的图形有点奇怪,所以就要debug一下。这也是第一次对“ray tracing图形”进行debug。debug完之后,发现书上后面竟然有交代,哎!不过,还好,debug的结果和书上后文的描述是一致的。原创 2017-05-21 16:22:57 · 2263 阅读 · 1 评论 -
Q75:光照模型汇总:环境光、平行光光源、点光源、面积光源
原创 2017-03-02 14:50:13 · 1382 阅读 · 0 评论 -
Q102:光线追踪场景(1)——地球仪
这个场景中包含如下几部分:1,地球仪的底座(1个回旋面+1个圆柱面,Phong材质,木纹纹理);2,地球仪的主体球面(Phong材质,图片映射纹理);3,地球仪的支架(半个圆环+1个圆柱面+2个小球面,Reflective材质,没有纹理);4,地球仪下方的圆台(1个封闭圆柱面,Phong材质,2D方格纹理);5,场景的下面和背面(2个平面,Matte材质,2D方格纹理);原创 2017-04-09 17:58:10 · 1329 阅读 · 0 评论 -
Q102:光线追踪场景(5)——驭龙台
0,引入“驭龙台”这个名字是后来起的,原本只是打算设计这么一个场景,如下图: 先申明一点:“驭龙台”场景中的大部分图形都是有磨边的楔形构成。对于场景中的台阶、房顶、墙面,原本只是打算建差不多和上图中能看到的这么一个范围(对应phi0,phi1),后来把phi0、phi1扩充到了整个圆周。 所以,远看这个场景是这么个样子: 从这个视角看时,咱就决定将这个场景命名为“驭龙台”啦! 至于为什么原创 2017-04-16 22:09:37 · 1855 阅读 · 0 评论 -
Q102:光线追踪场景(4)——面朝大海
想象这么一个场景:海边有一个古老的凉亭。雕刻着古时壁画的屋檐;砂岩的地板;亭内摆放着一个木质的茶桌;茶桌上摆着大理石的茶杯和茶壶;紧挨着茶桌有一个圆形的坐垫;小白兔和小灰兔静静地蹲坐在地板上;凉亭向外是一个大理石的台阶;台阶向外是一个铺着被海水侵蚀过的青石“广场”;马驹在广场上悠然漫步;广场向外就是淡蓝色的大海;海面上飘着一艘木船;大海无际,视线最远处的海面和天空相接;早晨或者傍晚,天空的云映在海面上……原创 2017-04-15 12:32:20 · 1754 阅读 · 0 评论 -
Q102:光线追踪场景(2)——PLYs(多种模型汇集)
0,引入这一章节里,trace的图形包含多种PLY文件表示的图形。 比如:bunny、dragon、hand skeleton、horse等。 主要涉及两件事情: 1,将这些模型添加到场景中; 2,给场景中的图形设置各自的材质和纹理。直接看图啦~~~该场景中包含如下几个部分: 1,后方平面(Phong材质,平面的2D方格纹理); 2,下方平面(Reflective材质,平面的2D方格纹理原创 2017-04-14 23:32:01 · 1497 阅读 · 0 评论 -
Q102:光线追踪场景(3)——Two Horses
0,引入这个场景中包含两匹马,不知道怎么起名,所以就叫“Two Horses”啦。还有就是用到各种反射模型、各种光照模型、各种纹理、PLY格式的几何模型。贴图如下:1,测试代码接下来,贴出World::build()的代码,完整代码参考后面的下载链接。#include "World.h"#include "Ambient.h"#include "Pinhole.h"#include "Dire原创 2017-04-15 10:38:21 · 1223 阅读 · 0 评论 -
Ray Tracing Scenes Collection
I read some ray tracing books and coded along with C++. And I traced some scenes in this process.Every picture presented here is traced with my computer.3. Ray Tracing from the Ground UpI read this bo原创 2017-05-26 23:48:19 · 516 阅读 · 0 评论 -
《Ray Tracing in One Weekend》——Chapter 0: Overview
《Ray Tracing in One Weekend》目录 第一部分:学习总结原文中,作者交代了一些这本书相关的事情、自己相关的事情、光线追踪相关的事情。咱没什么好总结的,没事干啦?当然不是,咱得先搭好C++的编译环境啊。windows+codeblocks 问题一:CodeBlocks环境搭建及创建第一个C++程序 第二部分:原文截图《Ray Tracing in One Weekend》目录原创 2017-05-21 15:26:04 · 3151 阅读 · 0 评论 -
《Ray Tracing in One Weekend》——Chapter 12: What's next?
《Ray Tracing in One Weekend》目录 第一部分:学习总结问题三十:《Ray Tracing In One Weekend》封面图形生成 第二部分:原文截图《Ray Tracing in One Weekend》目录原创 2017-05-21 16:53:58 · 1298 阅读 · 0 评论 -
《Ray Tracing in One Weekend》——Chapter 11: Defocus Blur
问题二十八:ray tracing中的散焦模糊(defocus blur) 接着,对比调了一下相机的各种参数: 问题二十九:测试ray tracing中camera几个主要参数 第一部分:学习总结问题二十七:ray traing中的positionable camera 第二部分:原文截图《Ray Tracing in One Weekend》目录原创 2017-05-21 16:48:11 · 1432 阅读 · 1 评论 -
《Ray Tracing in One Weekend》——Chapter 10: Positionable camera
《Ray Tracing in One Weekend》目录 第一部分:学习总结问题二十七:ray traing中的positionable camera 第二部分:原文截图《Ray Tracing in One Weekend》目录原创 2017-05-21 16:43:41 · 1174 阅读 · 0 评论 -
《Ray Tracing in One Weekend》——Chapter 9: Dielectrics
《Ray Tracing in One Weekend》目录 第一部分:学习总结问题二十四:怎么模拟ray tracing图形中介质材料的颜色(dielectric) 遇到问题,就要解决问题: 问题二十五:为什么有时候XnView无法显示PPM图片? 问题二十六:C++全局变量的使用实例 第二部分:原文截图《Ray Tracing in One Weekend》目录原创 2017-05-21 16:34:26 · 1653 阅读 · 0 评论 -
《Ray Tracing in One Weekend》——Chapter 8: Metal
《Ray Tracing in One Weekend》目录 第一部分:学习总结问题二十一:怎么模拟ray tracing图形中不同材料的颜色(diffuse and metal) 过程中遇到过死机问题,需要debug一下: 问题二十三:C++中debug简单的运行死机问题 第二部分:原文截图《Ray Tracing in One Weekend》目录原创 2017-05-21 16:28:15 · 1509 阅读 · 0 评论 -
Q140:PBRT-V3,各种渲染算法(Integrator,积分器)汇总
PBRT-V3中各种渲染算法(Integrator)汇总截图如下:各种渲染算法(Integrator)之前的博文链接:WhittedIntegrator: Q111:PBRT-V3系统概述中的5.1分段DirectLightingIntegrator: Q120:PBRT-V3,“直接光照”积分器(14.3章节)PathIntegrator: Q124:PBRT-V3,“路径追踪”积分器(14原创 2017-08-30 11:03:49 · 1752 阅读 · 2 评论