前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【GAMES101】Lecture 20 光场

【GAMES101】Lecture 20 光场

作者头像
叶茂林
发布2024-02-11 09:02:11
970
发布2024-02-11 09:02:11
举报

光场(Light Field / Lumigraph)

我们在三维的世界中从一个观测点出发看到这么一幅二维的画面

如果有这么一副画布可以完美的显示出从观察点看到的画面,那用这幅画布去替换周围的世界而使你感觉不到有什么不一样,这就是虚拟现实技术

我们能看到这个世界是因为周围有光线进入我们的视网膜,就可以用一个全光函数(The Plenoptic Function)来描述我们看到的东西

所谓全光函数,就是我往三维中某个方向看去会有不同的光进入我的视网膜,那就是这样一个关于空间角的一个函数返回光的强度

但是这个世界是有颜色的,也就是对于不同波长的光会有不同的值,所以要加上光的波长

周围的事物是会发生变化的,此刻和前一刻的光可能会不一样,因此还需要加上时间

不同的观测点看到的世界也会有所不同,因此还需要加上观察点的位置

在世界中定义一条光线需要光线上某个点的位置和光线的方向,也就是五个维度的,三个维度的位置,和两个维度的方向确定一条光线

但是还可以通过两个点来决定一条光线,此时的参数是四维的,为什么是四维的后面说

那么光场是什么?对于一个物体,用一个包围盒包住它,用包围盒记录下物体表面每个点出来的光线信息,记录下光的方向,然后包围盒上的点可以用二维的(s,t)来表示,方向可以用(

\theta
\theta

\phi
\phi

)来表示,这就是光场(我寻思这个包围盒不是立体的吗,怎么点的位置可以用二维的(s,t)来表示?我思考了一下,这个包围盒只有表面有用,应该是可以把它展开,那么表面在立体中是三维的存就会可以用二维确定)

有了这个光场之后,就不再需要这个物体本身了,就把这个包围盒当成是黑盒,不用关心里面是什么,反正我从外面看到的就是这个物体发出来的光,因为这个光场已经记录下物体表面所有点发出来的光了

对于包围盒中的一条光线可以通过两个点来确定,这两个点可以通过一个对称面上的二维坐标确定下来

假设摄像机在右边,那从(u,v)某个点连接(s,t)上的所有点的光线所形成的画面就是从某个角度看向的物体画面

而从(s,t)上某个点连接(u,v)上所有点的光线则是对应于物体的某点从各个方向看到的样子

广场照相机

普通照相机在拍照完成之后呢这个成像基本就已经定下来了,而光场照相机可以先拍照后期可以动态调整聚焦来决定哪块模糊哪块清晰,那这个是怎么做到的呢?顾名思义就是用的光场的原理

简单来说,光场照相机记录的是整个光场的信息,普通照相机即时成像在传感器上,那每个像素的值就固定下来是这个来着各个方向的光的平均值,但是光场照相机把每个像素换成薄透镜,把传感器放后面一点,这样聚焦的光线经过薄透镜后会再次散开落在后面的传感器上,这样记录下来的就是来着各个方向的光,即整个光场的信息,后期利用光场可以实现动态调焦的效果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 光场(Light Field / Lumigraph)
  • 广场照相机
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档