查看: 3307|回复: 6

[视频教程] ue4.23新功能介绍05RTX更新简介和虚拟纹理等

  [复制链接]

905

主题

953

帖子

3945

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3945

最佳新人

发表于 2019-9-11 23:04:28 | 显示全部楼层 |阅读模式
新增内容:实时光线追踪改良(测试版)
除了一些重要新功能外,我们还对光线追踪功能进行了大量优化和稳定性改良。

2222323.JPG

性能与稳定性
此版本很重要的一部分便是提升虚幻引擎稳定性、性能,以及光线追踪功能的质量。这意味着:
扩展了虚幻引擎整体对DirectX 12的支持
改良了光线追踪功能的降噪器质量
提升了光线追踪全局光照(RTGI)质量
额外的几何体和材质支持
新版本支持额外的几何体和材质类型,例如:
地形地貌(用2080Ti在KiteDemo中进行的性能测试结果:几何体更新时间约2ms、显存约500MB)
层级实例化静态网格体(HISM)和实例化静态网格体(ISM)
过程化网格体
次表面材质传播
地形和骨架网格体几何体的场景位置偏移(WPO)支持
多反弹反射回退
新版本中增加了增加了回退到反射球反射的的应变方案,改良了对多反弹光线追踪反射(RTR)的支持。这意味着之前版本中显示为黑色的内部反射(或称之为反射中的反射)或设置了最大反射距离的地方将回退使用这些光栅技术,而不显示黑色。
这样一来无需使用多光线追踪反弹即可改良反射质量,极大提高性能。

121212.JPG 3121212.JPG 312222.JPG


1 - 单次RTR反弹;2 - 两次RTR反弹;3 - 带上次反弹反射采集回退的单次RTR反弹

虚拟纹理

GALAXIX首发原创高清视频教程回复下载


游客,如果您要查看本帖隐藏内容请回复


以下内容根据官方文档翻译的。主要是介绍了虚拟纹理对UDIM的支持。

UDIM支持(关于UDIM的简单介绍请见此贴

U-Dimension(或“UDIM”)是一种纹理命名约定,它允许多个纹理图像映射到静态网格物体或骨架网格物体模型上的单独UV区域。使用UDIM命名约定时,图像文件组将作为单个虚拟纹理资源导入。

UDIM的虚拟纹理支持有以下几个原因:

它适用于许多单独的较小纹理,而不是非常大的纹理。

每个UDIM图像可以具有不同的分辨率,使得虚拟纹理具有不均匀的像素密度。

例如,如果由四个单独的图像文件组成的UDIM虚拟纹理以2x2模式排列,左上角的图像为2048x2048,而其他图像VT仅为128x128

例如,如果导入由四个图像文件组成的UDIM虚拟纹理 - 一个2048x2048和两个128x128纹理 - 以2x2模式排列,则虚拟纹理在逻辑上对这些图像进行采样,就像单个4098x4098纹理一样。较小的128x128图像被拉伸以填充与较大的2048x2048相同的区域,而不会影响磁盘或运行时内存使用。具有较小的128x128纹理填充2048x2048纹理分辨率在这种情况下不消耗任何内存。

有关UDIM工作流程的其他信息,请参阅The Foundry的UDIM工作流程教程。
本站翻译中文见此链接http://www.galaxix.com/bbs/forum.php?mod=viewthread&tid=849

通过使用此命名约定,在您自己的项目中开始使用UDIM纹理和虚拟纹理::

  1. BaseName.####.[Support Image Format]
复制代码


例如:

  1. MyTexture.1001.png
复制代码


导入符合此命名约定的图像时,将扫描源文件夹以查找与相同BaseName匹配的任何其他图像,后跟不同的坐标编号。对于找到的每个图像,四位数字定义图像应映射到的位置。导入传统纹理贴图到0-1范围内的网格UV,但是,UDIM图像根据其定义的UV坐标映射到UV 0-1空间。

此网格表示可用于存储图像的不同四位坐标的UV映射:

VAGADFF.JPG

UVs 0-1映射到1001处的图像,为您提供命名纹理MyTexture.1001.png。UDIM索引1001是此图像的根。如果U坐标从1-1开始,就是MyTexture.1002.png。如果V坐标从1-2开始,就是MyTexture.1011.png。

性能和成本

使用以下部分测量项目中虚拟纹理的性能和成本:

统计虚拟纹理

使用反引号(`)键打开控制台并输入以下命令以启用其统计信息:

使用stat virtualtexturing查看有关在毫秒(ms)虚拟纹理场景成本的细节和计数器页表。

Stat_VirtualTexturing.jpg

使用stat virtualtexturememory以显示与当前场景中使用虚拟纹理的相关内存计数器。

Stat_VirtualTextureMemory.jpg

流式虚拟纹理可视化

使用该命令r.VT.Borders可以将mip可视化网格绘制到使用流式虚拟纹理设置的材质上。

材质查找和堆栈

从材质中的虚拟纹理中采样比采样传统纹理更昂贵。虚拟纹理的成本分为两类:

对于在“材质图表”中采样的每个虚拟纹理,都会进行查找。

当使用相同的UV和采样器源时,堆栈组合虚拟纹理。

虚拟纹理总是比传统的纹理样本更昂贵。总会有至少两个纹理提取和一些数学指令。但是,部分成本通过组合使用相同UV和采样器源的VT纹理样本的堆栈(最多8个)来摊销。

在这个简单的材质示例中,有两个VT纹理样本表达式使用正在采样的默认UV。甲虚拟纹理查找加入该纹理样本的每个查找和因为二者都使用单个UV,它们被组合成一个单一的虚拟纹理堆栈:

捕获.JPG

但是,如果使用不同的UV,则会通过两次虚拟纹理堆栈提取来增加成本:

捕获.JPG

第一个示例总共使用三个纹理提取; 两个查找和一个堆栈。由于VT样本使用相同的UV,因此将它们的堆栈组合起来以保存纹理提取。在第二个例子中,总共有四个纹理提取; 两个查找和两个堆栈。VT纹理样本对基色和普通纹理样本使用不同的UV,这意味着它们不能组合成单个堆栈。

附加材质说明

无论大小如何,流式虚拟纹理都会分割为每个纹理的固定大小的切片。最低分辨率mip受到图块大小的限制。在许多情况下,这不是问题,但是,由于缺少低分辨率mips,具有大量噪波或高细节的纹理可能会出现混叠或莫尔效应。请记住,这也会带来潜在的GPU性能成本,尽管在实践中很难衡量。

限制

通常,虚拟纹理可以与常规纹理互换,但有一些限制并增加了成本:

纹理尺寸必须是2的幂,但本质上不需要是正方形。但是,它们在当前实现中更有效地利用存储器。

mips之间的三线性过滤支持是在随机庄园中完成的。当使用时间抗锯齿(TAA)时,它几乎与常规三线性滤波无法区分,但在情况下会引入一些可见噪点。

对各向异性过滤的支持受到“ 平铺边框”设置大小的限制。默认值4允许比典型的纹理更少的各向异性过滤,但增加此值会增加内存使用量。

VT流本质上是反应性的,这意味着CPU不知道它需要加载给定的VT分布,直到渲染帧已经需要它为止。因此,当相机移动通过场景时,可能会出现一些可见的溢出,尤其是在加载更高分辨率的VT分布时。

关注galaxixv,官方微信公众号。
GALAXIX UE4 讨论学习群 140439020
UE4精英学习群  12762592
UNITY学习群   194092348

0

主题

1

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2019-9-18 16:31:34 | 显示全部楼层
感谢分享~~!
回复

使用道具 举报

0

主题

4

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2019-12-21 19:06:09 | 显示全部楼层
谢谢大佬指导
回复

使用道具 举报

0

主题

2

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2020-1-14 10:51:09 | 显示全部楼层
谢谢分享
回复

使用道具 举报

1

主题

4

帖子

46

积分

新手上路

Rank: 1

积分
46
发表于 2020-4-6 13:21:08 | 显示全部楼层
1111666565165
回复

使用道具 举报

0

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2020-5-20 10:26:01 | 显示全部楼层
thanks sharing
回复

使用道具 举报

0

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2020-6-11 11:19:46 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


快速回复 返回顶部 返回列表