回到上一篇 POV-RAY基础教程 - 简单贴图/纹理设置(5)

使用焦点模糊

让我们构建一个简单的场景来说明焦点模糊的使用。对于这个例子,我们将使用粉红色球体,绿色框和蓝色圆柱体,球体放置在前景中,盒子放在中心,圆柱体放在背景中。一个方格的透视地板和几个光源将完成现场。我们创建一个名为的新文件focaldem.pov并输入以下文本

  #include "colors.inc"#include "shapes.inc"#include "textures.inc"sphere {<1, 0, -6>, 0.5finish {ambient 0.1diffuse 0.6}pigment { NeonPink }}box {<-1, -1, -1>, < 1,  1,  1>rotate <0, -20, 0>finish {ambient 0.1diffuse 0.6}pigment { Green }}cylinder {<-6, 6, 30>, <-6, -1, 30>, 3finish {ambient 0.1diffuse 0.6}pigment {NeonBlue}}plane {y, -1.0pigment {checker color Gray65 color Gray30}}light_source { <5, 30, -30> color White }light_source { <-5, 30, -30> color White }

现在我们可以将焦点模糊相机放置到合适的观看位置。从我们的三个物体直接回来将产生一个美好的景色。调整焦点会将焦点移动到场景中的任何位置。我们只需在文件中添加以下行:

  camera {location <0.0, 1.0, -10.0>look_at  <0.0, 1.0,  0.0>focal_point < 1, 1, -6>    // pink sphere in focusaperture 0.4     // a nice compromiseblur_samples 20      // more samples, higher quality image}

效果图

焦点只是相机焦点最清晰的点。我们将这一点定位在场景中并为光圈指定一个值,以调整我们希望焦点模糊从聚焦区域发出的距离或距离。调整focal_point为<-6, 1, 30>,使焦点落在圆柱体上
效果图

调整focal_point为<0,1,0>,使焦点落在正方体上
效果图

光圈设置可以被认为是焦点区域。打开光圈具有使焦点区域更小的效果,同时使光圈值更小,使得焦点区域更大。这就是我们如何控制焦点周围开始出现焦点模糊的方式。
aperture关键字,他的翻译是光圈,孔径。我们可以通过修改它的属性值,来获得,焦点距离我们物体的远近程度的效果,即,获得不同的聚焦效果。我们为他赋值越小,关注的区域就越大,反之,则小。
下面aperture的值为0.05时,三个物体都在焦点范围内,都能看清。
效果图

aperture的值增大到1.5时,会获得更加模糊的效果
效果图

blur_samples关键字的作用是采样设置,很容易理解的是:采样点数越多,值越大,我们就可以获得质量/分辨率越高的图像,但相应的渲染时间就会长。合理设置该属性值,是一个折中的选择。
使用焦点模糊摄像机的几点注意:

1.我们不需要在指定anti-aliasing,因为焦点模糊代码会使用它自己的采样法,从而能够自动的考虑到抗锯齿问题。
2.焦距模糊功能只能在透视摄像机上使用。

继续阅读 POV-RAY基础教程 - POV-Ray坐标系(7)

POV-RAY基础教程 - 相机(6)相关推荐

  1. POV-RAY基础教程 - POV-Ray坐标系(7)

    回到上一篇 POV-RAY基础教程 - 相机(6) 物体.灯光和摄像机的位置都是使用的典型的3D坐标系统.之前,我们讲解过POV-Ray的坐标系统.这里我们在回顾一下,X轴的正方向指向右边,Y轴正方向 ...

  2. POV-RAY基础教程 - CSG(3)

    构造型实体几何体(CSG)是一种可以组合原始对象以创建更复杂的对象的手段或者说方式,在上一篇介绍黄金链就已经用到了CSG方法. 回到上一篇 POV-RAY基础教程 - 基本SDL(2) 什么是CSG? ...

  3. iOS 10应用开发基础教程

    iOS 10应用开发基础教程 介绍: 本教程是国内第一本iOS 10开发应用教程.本教程基于Xcode 8.0,使用Swift 3.0语言讲解如何开发iOS 10的应用App. 学习建议:本教程针对i ...

  4. Android基础教程pdf

    下载地址:网盘下载 内容简介  · · · · · · <Android基础教程>内容完整丰富,具有较强的通用性,读者都能通过<Android基础教程>快速学习Android开 ...

  5. 人机交互基础教程-复习总结

    人机交互基础教程 题型分布 考纲及重点 第 1 章 绪论 1.1 什么是人机交互 1.2 人机交互的研究内容(7个) 1.3 人机交互的发展历史(3阶段) 1.4 人机交互的应用 习题 第 2 章 感 ...

  6. OpenMV零基础教程

    一.资料导航 "工欲善其事,必先利其器".在正式学习OpenMV之前,你必须知道一条或几条OpenMV的学习途径.这里推荐星瞳科技的中文官网教程,这个教程里面包括了OpenMV I ...

  7. iOS 应用内购买基础教程 swift篇

    应用内购买基础教程 原文地址http://www.raywenderlich.com/105365/in-app-purchases-tutorial-getting-started 更新日志:本教程 ...

  8. 3dmax入门学习基础教程第1部分:建模

    原始模型有一些奇怪的神秘感.也许这取决于他们美丽的简约和复杂的潜力 3dmax入门学习基础教程.第1部分 - 学习模型...... 我们将回到3ds Max的基础知识.我们假设您已经设法打开3ds M ...

  9. 微信小程序开发基础教程

    文章目录 1.什么叫做微信小程序 2.微信小程序开发功能特点 3.微信小程序开发流程 3.1 微信公众平台注册 3.2 微信开发者工具下载 3.3 微信开发者工具界面上的基本功能介绍 3.3.1 开发 ...

最新文章

  1. Scala 深入浅出实战经典 第88讲:Scala中使用For表达式实现map、flatMap、filter
  2. 多级反馈队列调度算法事例
  3. LinkedList源码(基础代码)
  4. [转载]Word直接发布新浪博客(以Word 2013为例)
  5. 技术盘点:2022年云原生架构趋势解读
  6. 阿里巴巴集团成为国家信息安全漏洞库(CNNVD)技术支撑单位
  7. 51php 数据不同步,php避免循环查询数据库优化一对多查询
  8. 技术MBA打造中国未来CTO
  9. Redis学习---(13)Redis 发布订阅
  10. MySQL数据库基础(简介、操作规范、基本指令)
  11. cuda Synchronization Functions
  12. SQL Server – QP的另一个X射线
  13. Windows下的良心软件
  14. C/S系统实现两数求和(非阻塞+epoll+心跳包检测用户在线状况+滚动日志+配置文件.)...
  15. 动态内存申请函数 malloc_malloc 的实现原理 内存池 mmap sbrk 链表
  16. java只对_只对你情有独钟:写给Java的情诗
  17. 成考java_成考本科课程:《Java程序设计》
  18. 小型超市管理系统.c
  19. 谈谈写程序与学英语 --宋劲杉
  20. php setfield什么意思,thinkphp教程专题

热门文章

  1. 计算机狐狸标志的程序,Firefox 推出新 logo,这只狐狸长这样子
  2. 系统学习NLP(七)--词语相似度
  3. 编程行业未来趋势如何
  4. KWD-035-SNS-C2-H-1 R162232320标准钢质滚珠滑块
  5. 仿联想商城laravel实战---3、前端页面搭建(什么情况下需要路由接参数)
  6. 【转载】不是技术也能看懂云计算,大数据,人工智能
  7. python读入图像是四维,需要将其转换为三维图像
  8. 95后不喝领导敬酒被打脸,看透6个底层逻辑,你就懂酒文化结局
  9. Andriod底部导航栏图片和文字的切换
  10. android高仿微信聊天消息列表自由复制文字,双击查看文本内容