热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

h5先加载小图_【3dmax】小图渲大图(光子贴图的调用)

大家好,今天我们来讲解一下大家常说的用小图渲大图是什么意思。它的意思就是用低分辨率的渲染获得光子贴图,然后继续渲染最终的成品(也就是获得高

大家好,今天我们来讲解一下大家常说的用小图渲大图是什么意思。

它的意思就是用低分辨率的渲染获得光子贴图,然后继续渲染最终的成品(也就是获得高分辨率的图像)。这就说平常所说的小图渲大图。

这么做的意义是可以大大的减少渲染时间。举例说明:比如我的想法是要做一个800x600这么大小的一个图。

07cf4cba26bd81153a0b85a1e8ce83c1.png


我想渲染这么大的一个图,可以先选择一个小点的,比如300x200,.用这个来渲染光子贴图,最终把它运用到大的图像上。

3166d02fa8d4fd366868453a1a73e9af.png

首先用发光图引擎和BF算法进行渲染, 质量选择低质量或中等质量的效果。如果正常渲染我们看一下需要多少时间呢?点击渲染,完成之后保存一下,同时观看一下它的渲染时间。可以看到渲染用了接近32秒的时间,这是正常的渲染。

首先可以看到正常用低分辨率产生了至9147个采样点,可以达到当前的这个渲染效果。

84e1595923c2110b05014783cf317879.png

接下来用300x200的分辨率,这个分辨率特别的小,渲染也是特别的快。但它产生的采样点肯定会非常少,至少要比9147个少很多。这是因为我们已经知道最小速率、最大速率它是根据当前设定的分辨率而定的。

现在选择高的预设,目的是为了获得更高的采样点。

8bd1fbb8d1dd19afc50f25e0f22cf55d.png

但在刚才的渲染过程中,注意有一个过程是“调用内存中的光子贴图渲染最终图像”(就是擦除的过程),这个过程很耗用时间。

现在用小分辨率渲染的目的是为了获得光子贴图,所以没必要把最终的光子贴图渲染出来。也就是说Vray渲染流程的最后一步不需要,只需要到达倒数第二步(生成光子贴图并保存在内存里)就可以了。

所以我在Vray的全局开关设置里面把“不渲染最终的图像”这个开关打开。打开它的话Vray将忽略最后一步,就不会渲染最终图像了。

40d54580df03d82a96a74260964091d3.png

那么为何我要把“当前预设”设置为高呢?就是为了获得多一点的光子,否则的话渲染大图的时候不够,采样点太少。现在用高预设、300x200来渲染一下,看一下效果。

渲染完成,可以看到它并没有进行最终的图像擦除,因为这一步在之前的设置里把它关掉了,所以不渲染最终图像。可以看到它生成的采样点是10000多个,比刚才正常渲染时的采样点要多,所以这里的采样点足够了。也就是这么多的采样点渲染一个800x600的图足够了。

0e4ec300154462a8cf1022a85296d577.png

再来看一下它用的渲染时间,用了27.4秒。虽然没有节省太多的时间,但是它的采样点变多了,运算的更仔细了。

那是不是代表着每次都要先渲染一遍大图呢?不用。根据经验应该能判断出来多少比较合适。这个就是一个经验问题了,需要多用多积累。那当前的光子贴图只需要点击保存就保存到内存里了,保存时命名为123.这样通过渲染小图就获得了光子贴图。

90da72631e3b467cdf849fb77664b85c.png

f7d17289f436e1098c0e53cd937f3bb6.png

接下来就可以根据光子贴图渲染出大图了,首先选择800x600,这里的模式选择“从文件”调用光子贴图,然后调出文件123,接着进行渲染就可以了。

3e819a174a3ced5bd3192b4bdbe04774.png

点击渲染,看一下效果。这次渲染几乎只用了零点几秒。大家可能会感到疑惑,为什么时间这么快,但画面什么都没有。

005ac80bf27c172f969edf20d7df7c20.png

我们再来回顾一下流程,在刚才的渲染中,前四步已经不用在运算了,因为我已经从文件里调用光子贴图了,所以前4步就不用再次进行运算了,直接进入第5步就可以了。

那么在第5步中就不是调用光子贴图了,而是调用我们已经保存在硬盘上的光子贴图。直接渲染图像。可问题是刚才我打开了“不渲染最终图像”,所以这一步它也被省略了,这就表示在渲染的时候所有的流程都没有了。这就是为什么点击渲染后瞬间就完成了,并且没有图像显现。所以现在要

把“不渲染最终图像”关掉,这样渲染的时候就直接进行最后一步。

abc693bb9dcf48c8af9822ede70ece5b.png

保存一下发现只用了12秒。

这是用小图渲染大图的优点之一,就是节约时间。可能你觉得没有节约太多,但当你使用灯光缓存的时候,节约的时间就会非常多了。用BF虽然节约的时间不是太多,但也节约了时间。

并且你用这种方法最为重要的是,你获得了一个光子贴图。如果你的场景需要好几个镜头,比如你之前的一个镜头已经渲染完成了,但其他视角也需要镜头,在下一个视角里面,摄像机所看到场景内的同一物品就不用再次渲染,只需要渲染另一部分的光子贴图就可以了,并且和原来的光子贴图合并到一起。

当然这需要利用光子贴图查看器进行合并,随后的文章中会讲到的。

使用这种方法的好处就是:第一节约时间,第二获得了一个光子贴图。

然后可以将渲染出来的图像进行一下对比,区别很明显。很明显后面调用电子贴图渲染出来的效果更好。

因为它是10000多个采样点,原来只有9000多个。

这种方法就是我们常说的小图渲大图,过程就是这样的。“不渲染最终的图像”的意义很重要,如果你只想获得光子贴图,就把它打开。

从文件的模式由于前几步流程都被忽略了,所以你的预设无论是高还是低,二的反弹是不是打开,都无所谓。对最终的图像没有任何的影响。细分值调高还是调低也没有影响。但模式选择单帧的时候这个值还是有意义的。

2ea4c557df3b2ca853df082983fbb00b.png


三阈值对从文件模式也没有意义,因为三阈值是调节自适应细分的。而自适应细分在从文件模式中这一步已经被省略了。但插值采样还是有意义的,在两个采样点之间需要插值采样来进行模糊,并且还可以有效的防止漏光。

f62d10e861da941762519f56ae5f5edc.png

而插值类型和查找采样也是有意义的,这两个参数决定了插值采样具体以何种方式进行运算。

那么今天呢,就给大家分享到这里

【学习交流】

觉得不错记得点赞收藏+关注哦~

更多高阶及学习资料:人工解答点击此处

国内外最全免费模型下载相关文章:点击此处即可获取

更多精彩:学习3dmax有前途吗?

更多精彩:初学3Dmax的50条建议

更多精彩:3dmax常见的八十个问题汇总

更多精彩:关于3DMAX的各种错误解决方法合集

更多精彩:怎么做效果图能做的好看?

更多精彩:3dmax材质疑问大全

更多精彩:学习3dmax有前途吗?

更多精彩:3dmax常见问题大全

更多精彩:3Dmax安装出错状况合集



推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文深入探讨了如何通过调整InnoDB的关键配置参数来优化MySQL的随机IO性能,涵盖了缓存、日志文件、预读机制等多个方面,帮助读者全面提升数据库系统的性能。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • ThinkPHP框架中处理JS和CSS缓存问题的解决方案
    本文探讨了在ThinkPHP框架中,当启用调试模式(APP_DEBUG)时,删除public文件夹中的CSS和JS文件后页面仍然显示旧样式的问题,并提供了一种有效的解决方法。 ... [详细]
author-avatar
手机用户2502909811
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有