c#光线追踪
光线追踪学习记录
sunshine543123
这个作者很懒,什么都没留下…
展开
-
光线追踪—层次包围盒( Bounding Volume Hierarchies )
原理:通过一个简单的包围盒把物体包围起来,射线和场景中的物体求交之前,会先和这个包围盒进行求交,如果该射线没有碰到该包围盒,表明该直线一定不会和包围盒里的物体相交;如果该射线碰到该包围盒,那么再来计算射线是否和包围盒中的物体相交。作用:BVH可以使渲染器更加高效,值得注意的是盒子是可以重叠的。当然,盒子内也可以放其他的盒子,这样我们会得到一个树形结构。怎样判断和盒子是否相交?2D包围盒的边界是一条线,而3D包围盒的边界是一个面射线可以看为是一个方程:P(t)=A+B*t将这个公式实际应用实原创 2020-06-30 14:21:03 · 3777 阅读 · 0 评论 -
Ray Tracing—运动模糊(MotionBlur)
MotionBlur• 运动模糊是景物图象中的移动效果。它比较明显地出现在长时间暴光或场景内的物体快速移动的情形里。• 为什么会出现运动模糊摄影机的工作原理是在很短的时间里把场景在胶片上暴光。场景中的光线投射在胶片上,引起化学反应,最终产生图片。这就是暴光。如果在暴光的过程中,场景发生变化,则就会产生模糊的画面。实现步骤:1.在Ray.class中加入time变量2.调整camera 类加入变量 time1 和 time2,生成一个在time1 和 time2之间的随机数,作为Ray中的time原创 2020-06-12 23:20:10 · 799 阅读 · 0 评论 -
光线追踪 — 光照模型
1.简单光照模型——环境光2.Lambert光照模型(漫反射)Lambert光照模型是一个非常简单的模型,早在200 多年前,一个叫Lambert的家伙提出,当光照射到粗糙 的表面时,它将向四周均匀的反射。这种各向同性的反 射叫漫反射(Diffuse reflection)漫反射光的强度服从于Lambert定律,漫反射的光强 与入射光的方向和反射点处表面法向夹角的余弦成正比。Lamber...原创 2020-04-26 12:30:16 · 1629 阅读 · 0 评论 -
向量的点乘和叉乘
1.点乘点乘,也叫向量的内积、数量积A·B=AxBx+AyBy+AzBz(对应元素相乘相加)几何意义:投影A·B=|A||B|*cosθ2.叉乘叉乘,也叫向量的外积、向量积意义:叉乘结果是一个向量,向量模长是向量A,B组成平行四边形的面积;向量方向是垂直于向量A,B组成的平面;|向量C|=|向量A*向Bb|=|A||B|sin<A,B>...原创 2020-04-26 10:41:44 · 1847 阅读 · 0 评论 -
C# get set作用
1.控制字段的访问权限,只读(get),只写(set),可读可写(get,set)public class Student { private string name public string Name { get{return name;}//这里取出私有属性name的值 set{name=value;}//这里是给私有属性name赋值 } } 2.在get,set中增加权...原创 2020-04-23 12:10:19 · 1523 阅读 · 0 评论