今天整理了一下小光子图渲染图怎么做大图的一些技巧.
概念理解: 小光子贴图. 什么才是一个400*300的小光子贴图?
而非是渲染图怎么做出一个尺寸仅仅为400*300的图出来然后保存的光子貼图。(这段话很重要认真理解。因为400*300可以渲染图怎么做200*150的光子图也可以渲染图怎么做出800*600的光子图)
问题1. 渲染图怎么做尺寸与光子貼图设置的问题.
例子说明.(注意:例子是用来说明渲染图怎么做尺寸与光子贴图设置的问题,并不是教大家增大渲染图怎么做尺寸的解决方案)
两个重要概念:1.出图的分辨率大小(也就是出图设置的渲染图怎么做尺寸的大小)
2.光子贴图的分辨率大小(它与出图分辨率和“最夶比率值”有关)
只要掌握了它们的关系速度质量平衡的关键基本上也就掌握了。
补充一点: 在做图的时候不要首先不在去考虑你最终偠出多大的图,而是去考虑这张图你需要设置为多大的光子图才能满足(也就是不出现漏光等错误现象).
首先理解一下发光贴图(irradiance map)的具体是怎么计算
围绕在min和max数值及图像解晰度的关系,其实十分简单的首先我想讲的是,关于光子图的正确概念光子图也叫光子贴图(photon map),在之湔使用的ir map+photon map组合中一般先设置为pm + pm,保存计算好的photon map这个就是所谓的光子图,然后再设置为ir map + pm模式pm设置为读取保存的光子图,加快ir map的计算現在常用的组合就是ir map + lc,其相应能保存下来的就是发光贴图文件和灯光缓存文件
首先假定图像尺寸为640*480,默认情况下system卷展栏下的render region division是64*64的。将min囷max参数都设置为0那么此时的发光贴图的采样解晰度为640*480,即与图像大小一样
而当min和max都为-1时,发光贴图的采样解晰度为320*240即是图像解晰度嘚1/2。
又当min和max都为-2时发光贴图的采样解晰度就变成了160*120,即是图像解晰度的1/4
这里需要了解的就是,VRay是以像素为单位来进行GI采样抗锯齿采樣,噪波处理色溢处理等工作的。其实min与max参数的含义十分简单的它的数值就是确定要多少个像素取一个采样。当值为0时就是每一个潒素取一个采样;-1时,每4个像素取一个采样;-2时每16个像素取一个采样;……之后的就类推就可以了。换算很简单假设它为n,就是4的-n次方个像素取一个采样所以当设置为1时,就是1/4个像素也就是1个像素取4个采样这是超采样(oversampling)了。
在前面都是将min和max设为相同的数值。将这两個参数设置为相同的数值的话就没有让VRay去适应环境来计算,也就是没有利用好发光贴图计算GI的强大能力如果将这两个参数分开设置,僦可以让VRay在需要大量采样的地方应用较大解晰度的发光贴图在较少的采样都可以接受的地方就应用较小的发光贴图。
下面来看看发光贴圖是怎么进行自适应采样的在下面的左图可以看到场景里大量的采样(显示为点),采样没有关心实际的需要到处都给上同样的感情。这昰因为min和max都设置为-3仅一次采样pass。结果就是用去较多的时间(7.5sec)
来看这两个图,可以看出用更少的时间(5.7sec)得到了同样的质量注意在特定区域采样比较多。
map以-3的精度开始进行采样;接着再以-2的精度进行采样这次是在-3采样的基础上,来决定哪些地方需要增加采样哪些地方不需偠增加采样;之后再继续-2、-1、0的采样。这里进行了-3、-2、-1、0共4个pass所以这个pass数的确定可以按这个公式来计算:max-min+1。
在理想情况下当然是每个潒素取一个样本甚至几个样本就最好了,可是时间会以平方级增加的没有足够的时间和强劲的机器是撑不下来的。所以一般情况下max取-3~-1嘚精度都可以满足高质量的需要了。这里还需要min的配合因为需要的足够的pass数才能进行准确的采样,一般有3~4个pass都可以是高质量的了太多嘚话也没什么必要了。因为min太小也就是初始采样精度太小,基本是可以忽略的
还有,不需要在测试中随时保存发光贴图文件的在一切都调节好后再用高参数计算后保存,再读取进行渲染图怎么做就可以了
Q: 终出嘚图解析度应该是光子解析度的几倍最为合理!速度最快?
(因此根据现在普遍用法的小图计算来渲染图怎么做大图的话,除了考虑图潒大小比例外还要考虑到发光贴图的尺寸比如对于640*480,-3/0是一个高的设置如果你要在下要得到同样的质量的话,-4/-1的设置就可以了;-5/-2就可以滿足的高质量需要了)
还有如果-3 , 0 和-4 -1这样的参数!速度有区别吗?还是只是算光子的时候慢点!渲染图怎么做大图差不多求赐教!!
A: 这个没有什么一成不变的一个通用设置,通常需要杂在练习中掌握经验来控制.每个人的工作流不同,所以设置也有所不同.
假如你的图在测试時,400*300 -3/-1的质量你认为可以.最终出图你需要的是那么只需要-5/-3的设置就可以得到在400*300下的质量了,因为尺寸增大了两倍,min/max也相应地减去2.
渲染图怎么做时是偠看场景的物体的多少,光影的复杂程度,抗锯齿采样器的正确选择上.
-3/0,-4/-1如果不看图像尺寸的话,计算时间是肯定不同的.
这里是400*300的情况下的一个测試数据
由于是小图,质量没有明显的区别
Q: 当值为0时,就是每一个像素取一个采样;-1时每4个像素取一个采样;-2时,每16个像素取一个采样
可是為什么图象的尺寸只是2倍而采样象素是4倍?
最终出图是 那个速度快快多少,那个质量好好多少?
如果300*200 -2/0下的质量你觉得可以了,你要用絀图,就用-4/-2的设置就可以得到同样的质量了,渲染图怎么做时间肯定不一样的,除去计算的时间,渲染图怎么做时的图像大小不一样的吧,所以时间肯定不一样的.
Q: 到底小光子图对多大的图够用呢比如我用-3/0渲染图怎么做了一个4个pass的400*300的图片,肯定的图片没问题那么再高呢,呢够吗?洳果再高呢呵呵,当然实际不会那么大
A: 一般来说2000以下的都可以直接计算渲染图怎么做的了如果特别大的图的话,国外比较流行的做法僦是用最后出图的尺寸的一半来跑光当然参数需要自己经验来把握了,之后再读取进行渲染图怎么做工作
“你这里有一个巨大的错误,那就是,光子图根本不存在分辨率一说,不论是irmap photon map 还是 light cache map 都是没有分辨率一说的, min max决定的pass过程只不过是告诉VR用什么样的图像解析度密度来采样分析场景以判断并放下采样点, 生成的那些图,都是三维数据结构,没有分辨率,不是图片! ”
因此我所以使用了光子图与分辨率这一说,主要是让大家用┅种很老土的办法去掌握它学会用它,虽然说法是错误的但用法是不会有错的…
就如你想安装一个灯,我只说你将两根线分别接在灯頭的两个接口上不要让两根线相碰着就行了,结果灯亮了我也没有精力花了几个小时甚至几天的时间给你讲什么是交流电,什么是正負极什么是……,他们为什么会让灯泡亮等等一大堆的道理来我也不懂,说多了也许你也不懂….
至于你非得想知道交流电的原理这方面的教程多的是,可以自己去看。也可以请老师教.道理都一样.
有经验的人一看就知道这个参数无法满足最终渲染图怎么做效果的需偠.
为什么相同参数,却渲染图怎么做出不同的效果呢?
渲染图怎么做光子大小的尺寸与”最大比率”值有非常密切的关系,当值为”0”时,使用与朂终渲染图怎么做尺寸的分辨率,-1时为一半,-2时为一半的一半,依此类推….
那么为什么前面相同的参数使用不同的大小会渲染图怎么做出不同的效果呢?
试想一下400*300分辨率的光子图与50*37.5的光子图质量上完全是两回事.
要明白一个是光子图分辨率的大小,一个是最终渲染图怎么做尺寸的大小,在渲染图怎么做最终成图时,我们要明白使用多大的光子贴图去渲染图怎么做多大的成图.在大多的情况下,可以使用如400*300分辨率的小光子图去渲染圖怎么做成图,速度快而且效果也好.
我想使用400*300的光子图去渲染图怎么做的成图.以下两种方法均可完成.
01. 设置渲染图怎么做尺寸为400*300,设置最大值为0, 渲染图怎么做出图后保存光子图. 再设置渲染图怎么做的尺寸为,直接读取保存好的光子图.
02. 直接用出图.设置最大比率为-2.也不用保存光子图.效果與01一样.
当然保存光子图是很有必要的.发竟有时候还要更改材质等.这样就不用再跑光子了.跑光子总是要花很长时间的.
最大值为0时,光子贴图渲染图怎么做的与出图一档大小的图
要搞明白光子分辨率, 和出图分辨率.
如最大值为-1时,光子图是出图的一半,那么也就是800*600只采用了400*300为最大分辨率嘚光子贴图渲染图怎么做.
你想采用多大分辨率的光子贴图去渲染图怎么做最终的效果图.然后根据上述先算出光子图的分辨率.
Q: 为什么不直接高参数渲大图
A: 直接用高参渲染图怎麼做大图在速度上会很慢啊,例如一般400*300的光子图都能满足了大多数场景而如果使用分辨率为这样的光子贴图是不是很慢啊。
例如说设置为最大比率值为-1直接渲染图怎么做的图,其实就是利用光子贴图为800*600的图去渲染图怎么做的如果将值设为-2,就是用400*300的光子图去渲染圖怎么做的
其实渲染图怎么做不渲染图怎么做小图并不重要,重要的是理解了光子贴图的分辨率是如何来的就有作用了。
渲染图怎么莋小图也只是搞个光子贴图换算过来后其结果就是一样的了。
其实保存光子贴图最大的目的还是最后调节材质等毕竟重新渲染图怎么莋光子要花很长的时间,如果材质效果不满意可以更改材质后,只接就可以跑图了
Q: 出成图时候加大这个数值成不成?
A: 还是哪句话想鼡多大分辨率的光子贴图去渲染图怎么做多大的成图而己。增加值就等于增加了光子的分辨率效果一定会更好,但速度会慢下来
Q: 你认為最佳的光子图分辨率与出图分辨率的比例是多少啊?
A: 小光子跑大图,我想400*300分辨率的光子图够跑成图了一家之言!
Q: 我想渲染图怎么做 的大图,请问在最大比率设置为:0、-1、-2、-3 的情况下他所需要的光子贴图分辨率分别为多大效果才会好呢?
A: 的大图,不是它所需要的光子贴图嘚分辨率是多少而是你想用多大的光子贴图去跑。
可以对光子贴图分辩率做一个人为的分级.实际上并没有太大的科学依据.
在测试的时候我们可以使用低级别的设置光子贴图, 常用160*120, 或更小嘚80*60. 在一般的场景中(决大多数)使用普通级别, 除特殊时, 选择中级或高级别的.
还有会遇到这样的一种情况.
使用-3, 0 直接跑了一张400*300的图, 一看效果不错,所鉯也就直接设置为的大图开始跑,
没想到光子贴图由原来的400*300变成了,蜗牛式的跑图ING…
得出结论: 相同的参数设置, 渲染图怎么做的尺寸越大, 效果越恏, 因为变相的加大了光子分辨率.但速度会慢下来些.
Q: 1.如果用400*300的光子图,设置最大比率为0. 跑成图,设置为最大比率-2.
A: 2比1慢,因为光子图要大点.
Q: 如何查看咣子小图到底行不行?
如果是400*300的光子图,那么成图时应也用这个比例,1.33333..不然的话可能摄像机的角度不同,影响渲染图怎么做图..
做图时应该多用锁定仳例.因为锁定的,所以我们只要填上WIDTH的值就行了,比如我想试一试120大小分辩率看行不行. 只要填入480回车就行了,然后最大比率为-2,为什么设置480? 我认为120嘚分辨率你也不知道到底行不行,要渲染图怎么做出来看小图. 而120的小图什么也看不清,如果设置成240,最大值为-1, 同样240也可能看不清楚什么,如果想试┅下320的光子图行不行.我们最好把它设置为大于300的图来查看,当然是以倍数乘了.
结论: 最好先以大一点的图看测试效果,设置为-X, 太小了你看不到效果.
Q: 最小比率值是怎么理解的?
A: 最小比率值决定采样的质量,如果最小值越大的话采样品质要高,不过时间要慢,
Q: 光子图的尺寸要和最后成图嘚尺寸成一定比例吗??
A: 要求成比例是保存光子调用的方法。如果不成比例例如保存光子时一个比例,而成图是又是一个比例那么摄像机觀察到的范围是不同的,因此渲染图怎么做的图会有错误
Q: 跑完光子后.可否更改模型,材质, 灯光等.
A: 保存的光子图只能更改材质,不能更改模型,吔不能再动场景中的模型.包括位置.大小.否则重新计算.
渐进式图像渲染图怎么做和HTTP/2多路複用技术可能大家都听说可能尝试过但是如果把两者结合起来用会怎么样呢?最近国际知名CDN厂商Cloudflare将两者结合起来推出了渐进式图像并行鋶传输方案可以实现将图片加载时间减少一半,使得浏览器可以更快渲染图怎么做网页图像元素今天虫虫就给大家介绍下这种技术。
茬HTTP/1.1协议中Web服务器对浏览器请求页面的所有资源发送给浏览器的顺序没有任何选择。Web服务按照其请求顺序一一响应串行发送给浏览器。 HTTP/2協议发布后其中最让人耳目一新的功能是支持多路复用,利用多路复用功能来改变资源发送的优先级来改变之前协议的串行问题可以實现更准确地确定发送的数据和时间,实现并行存取大文件和耗时资源比如可以对图片资源优先传输,提高网页中图片的加载和渲染图怎么做实现更快的响应,提高网站访问体验
网页中一般来是按照html文档中的顺序从上到下加载。如果浏览器只下载了一半的图像文件則它只能够显示图像的上半部分。渐进式图像渲染图怎么做技术中图片的内容不再是从上到下加载而是对图片从低清晰度高清晰度接受。通过下载一小部分图像数据就可以在浏览器中显示整个图像但图像不清晰。随着更多数据的下载图像会越来越清晰,细节越详细汾辨率越高。
该技术特别适合JPEG格式图像渲染图怎么做开始我们只需10-15%的数据就能显示预览图像,在50%时的数据处图像看起来几乎与基本上僦能显示完整图片。渐进式JPEG图像加载与传统方法可以使用同样的一个图片数据用更优化的顺序刷新数据,因此渐进式图片渲染图怎么做鈈会增加文件大小和其他的设置只需将JPEG图像以频率系数方式用预定义模式重建原始图像。利用该技术可以让页面看起来在视觉上完整加载一半时候就完整,更多细节可以在此后更加补充直到达到高分辨率的质量。
HTTP/2渐进式流式传输
在http/1.1下网页中的多个图像从服务器请求傳输时候,按顺训一个接一个发送这对渐进式渲染图怎么做没有任何效果,整体上图像仍然按顺序加载:
当加载到一半图像的完整数据(而另一半没有数据)看起来还是没有加载所有图像的一半的效果。
而且浏览器不能预知图像大小时,会默认使用占位符中填充位置然后再具体图像加载时继续渲染图怎么做页面,会造成加载过程中页面跳跃访问体验很差。
利用渐进式图片流可以极大地改善这种体驗利用多路复用技术可以同时发送所有图像,并行传输这样浏览器就可以一次获取页面所有图像的大小信息,可以绘制所有图像的预覽页面而无需等待大量数据的加载,就直接可以加载样式脚本和其他更重要的图像资源。
这种并行流式传输图像流的想法源于HTTP/2多路复鼡技术但它需要在Web服务器的低级部分进行特殊处理,到目前为止还没有大规模实现
Cloudflare通过改进HTTP/2优先级时,实现了这个功能实现图像文件以合适的优先级加载。优先级在每个文件中发生变化实现动态可变化的优先级:
包含图像大小的图像标题具有非常高的优先级,因为瀏览器需要尽快知道大小以进行页面布局图像标题很小,因此将其在发送到其他数据之前发送
显示图像预览所需的图像的最小数据量具有中等优先级。
图像数据的其余部分为低优先级由于页面已经完全可用,因此浏览器可以在最后一次流式传输优化图像质量
要搞清楚每个阶段要发送的数据量需要了解图像文件的结构,通过将问题框定为优先级的动态变化能够优雅地将低级网络代码与图像格式知识汾开。可以使用Workers或离线图像处理工具来分析图像并预先处理服务器更改HTTP/2优先级。
关于图像并行流可以代理上面提到各种好处但是也不會增加服务器和带宽开销。数据文件大小仍然一样只不过优化其下载传输的顺序。
这种技术只是对现有Web标准使用兼容主要的主流浏览器。
官方通过WebPageTest对这种技术进行了性能基准测试对比了HTTP/2响应和渐进式流式传输,其结果瀑布图如下:
注意:对完全完全相同的页面和下数據图像显示了整个页面加载时间相同。在图表中蓝色部分显示数据传输时间,绿色显示每个请求空闲时
左图显示了典型的Web服务器行為:图像大部分按顺序加载。图表本身看起来很整洁但加载该页面的实际体验并不是很好。最后一张图片直到几乎结束才开始加载
右圖显示并行情况下加载的图形:整个图表中的蓝色垂直条纹是早期发送的图像标题,然后是几个渐进渲染图怎么做阶段可以看到所有图潒的有用数据会更快完成。我们注意到其中一个图像已经在一个块中发送而不是像所有其他图像一样分割。那是因为在TCP/IP连接的最开始還不知道连接的真正速度,必须先做测试牺来确定优先级以便最大化连接速度。
业界还有其他很多技术用来实现快速提供图像预览例洳低质量图像占位符(LQIP),但它们都不可避免的存在一些缺点他们为占位符添加了额外的数据,并且还会干扰浏览器的预加载扫描程序由于依赖于将预览升级为完整图像,需要优先加载JavaScript这会延迟图像加载。与这些方案对比, 渐进式图片并行流传输方案具有下面的优势:
鈈会增加额外的任何其他请求也不会添加任何额外数据。总页面加载时间不会延迟
不需要任何JavaScript。它利用了浏览器中原生支持的功能
鈈需要对页面标记进行任何更改,因此在站点范围内部署非常安全
用户体验的改善反映在性能指标上,例如SpeedIndex指标和视觉完成时间对于瑺规图像加载,视觉进度是线性的但是使用渐进式流式传输时,它会快速加载完成
本文我们介绍了Cloudflare新推出的渐进式图像并行流传输方案,该方案不消耗额外资源无需客户端和浏览器做特殊设置,实现图片的快速加载提高网页渲染图怎么做速度,提高网站访问体验