现实中的光学模型

在现实中,当关闭屏幕光亮的时候,会看到屏幕反射到的一张帅气或者漂亮的脸,那么这个看到的物体就是从屏幕中反射出来,其实不光镜子,任何物体都存在反射,发光源发出光线,通过物体反射到人的眼睛中

这里要提出另一个概念,就是图形光栅化的流程没是将计算出来空间中的图形在计算机屏幕上面的每一个像素是怎么显示的,这个部分流程

物体有着人不同的材质,但绝大多数物体表面都是凹凸不平的,所以绝大多数物体表面都会发生漫反射

计算机中的光线追踪基本方案

1979年,Turner Whitted提出了递归光线追踪算法,准确模拟了光线在场景中发生多次反射、折射的路径。就是这篇工作开创了光线追踪的想象空间

其实计算机计算光线追踪和现实中的流程在原理上是基本一致的,不过计算光线追踪是从摄像头发出的光线,整个过程类似于逆向过程,全部流程大概如下:

光线追踪全流程

1.创建主射线:从摄像头的每一个像素点发出一条主射线,这里的摄像头可以理解为屏幕空间的像素点

2.投射射线交互:根据每一条主射线去和和场景交互

3.获取表面属性:根据相交的对象,获取对象的表面属性,法线,纹理坐标等,和表面的情况(有漫反射和镜面反射两种情况)

4.递归光线追踪:根据表面特性,去递归光线,比如光线接触到玻璃的时候,光线会分成两条,分别是反射光线和折射光线

以上四个过程的递归过程会消耗巨大的的,计算机的计算开销即为大,所以这种工作更适合GPU去计算,可以参考我的另一篇文章:

GPU逻辑管线工作流程_星空_MAX的博客-CSDN博客

大量的光线更适合擅长并行计算的GPU去计算

非光线追踪与光线追踪对比图:

可以看到有着开启光线追踪的《Minecraft》有着非常真是的光照反射,但是帧数大大下降

但是1999年的顶级游戏显卡GeForce到现在的RTX3090,计算力已经提升了10000多倍

面对未来,何不大胆想象一些呢

计算机图形学:光线追踪原理(ray tracing)相关推荐

  1. 【计算机图形学】深入浅出讲解光线追踪(Ray Tracing)

    CG基础与光学基础 ▍问自己一句,3D场景为何可以被绘制到2D的画布/屏幕上? emmmmm-没有那么复杂,这几乎是一个纯几何的过程: 透视投影.将三维物体的特征点与眼睛连接成一条线,这条线会穿过画布 ...

  2. GAMES101-现代计算机图形学入门-闫令琪 - lecture13 光线追踪1(Ray Tracing 1 - Whitted-Style Ray Tracing) - 课后笔记

    光线追踪1 (Ray Tracing 1 - Whitted-Style Ray Tracing) 课程一共分为四个大的板块,目前已经学习了光栅化和几何,可以实现图1和2的效果,下面要来学习第三个大的 ...

  3. 计算机图形学——光线追踪(RayTracing)算法

    转自:https://blog.csdn.net/hmbxsy/article/details/80509876?depth_1-utm_source=distribute.pc_relevant.n ...

  4. 计算机图形学-光线追踪学习

    计算机图形学 光线跟踪算法 光线跟踪算法性质是比光线投射,缺点是需要假设光线在观察点处终止. 简介 为了生成在三维计算机图形环境中的可见图像,光线跟踪是一个比光线投射或者扫描线渲染更加逼真的实现方法. ...

  5. [计算机图形学]光线追踪的基本原理(前瞻预习/复习回顾)

    一.光栅化的弊端 我们为什么要用光线追踪呢,在之前的篇章中,我们提到了,光栅化的方式很难表示一些全局的效果,如(1)软阴影,(2)Glossy的反射(类似镜子但又不像镜子那么光滑的材质,如打磨的铜镜和 ...

  6. 计算机图形学笔记十一:Ray Tracing1(阴影,光线追踪基本原理)

    阴影,光线追踪基本原理 1.阴影贴图(Shadow Mapping) 1.1产生步骤 1.2存在问题 2.光线追踪( Ray Tracing) 2.1为什么需要光线追踪? 2.2基础光线追踪算法(Ba ...

  7. 【RAY TRACING THE REST OF YOUR LIFE 超详解】 光线追踪 3-5 random direction ONB

     Preface 往后看了几章,对这本书有了新的理解 上一篇,我们第一次尝试把MC积分运用到了Lambertian材质中,当然,第一次尝试是失败的,作者发现它的渲染效果和现实有些出入,所以结尾处声明要 ...

  8. 计算机图形学(光线追踪)

    笔记:光线追踪 Why Ray Tracing? Ray-Tracing Algorithm(光线追踪算法) Basic Ray-Tracing Algorithm Whitted-Style Ray ...

  9. 计算机图形学GAMES101(十二)光线追踪(基本原理)

    我们是怎么解决阴影问题? 当对物体着色的时候,只考虑了像素点自己,没有考虑物体遮挡.所以着色不能解决阴影.那么怎么解决阴影问题呢? 阴影映射(Shadow mapping) 可以使用阴影映射来渲染阴影 ...

  10. 计算机图形学原理与实践 pdf,计算机图形学理论与实践.pdf

    高校计算机教学系列教材 计算机图形学理论与实践 主 编 李春雨 副主编 邱道尹 谭同德 王玉琨 内容简介 在多年教学科研和开发的基础上K从计算机图形学的理论高度和计算机绘图的实用角度来 研究K编写这本 ...

最新文章

  1. Facebook失误泄露反恐审查员信息 生命或受威胁
  2. C语言第一次博客作业
  3. python基础知识选择题-python基础知识练习题(二)
  4. muduo网络库学习(五)服务器监听类Acceptor及Tcp连接TcpConnection的建立与关闭
  5. 安卓手机刷软路由_华为路由AX3 Pro上手测评:用过最方便的路由器,没有之一...
  6. pku 1463 Strategic game 树形DP
  7. C++笔试题整理(一)
  8. html和css实现时间表,前端 CSS : 6# 纯 CSS 实现时间线
  9. linux搭建windows无盘系统,linux下无盘系统的安装
  10. 修改华为 Echolife HG8010h 的超级用户密码
  11. 带有神经网络的梯度消失(Vanishing gradients with RNNs)
  12. 搭建美丽天天秒链动2+1OpenRApp开发
  13. cacheable更新_缓存刷新显示带有@cacheable注释的错误
  14. Golang 计算MD5值
  15. printf(%d%d%d%d\n, a,b,c);
  16. 阿D SQL注入工具常用的一些注入命令
  17. 打篮球与企业管理有相似之处吗?
  18. DDS发生器的频率控制字原理和基本结构(二)
  19. JS-文字上下滚动(多行停顿)
  20. 推荐系统冷启动问题(用户冷启动、物品冷启动、系统冷启动)

热门文章

  1. win7摄像头软件_【pc软件】功能强大的GIF动图制作录制工具,秒杀
  2. word添加目录和更新
  3. DevOps-SRE岗位到底是什么?
  4. iOS视频开发(一):视频采集
  5. 英文科技论文各部分的时态和语态
  6. flink不等于符号问题
  7. 个性签名html,经典个性签名-2021最新QQ经典-QQ经典个性签名-腾牛个性网
  8. 怎么将视频转换成mp4?
  9. 第十二周助教心得体会
  10. 曾经,我以为我很懂MySQL索引