Direct3D12保守光栅化

请升级到MicrosoftEdge以使用最新的功能、安全更新和技术支持。

保守光栅化为像素渲染增加了一定的确定性,这对碰撞检测算法特别有帮助。

保守光栅化是指将至少由渲染基元部分覆盖的所有像素光栅化,同时也意味着会调用像素着色器。正常行为是采样,而启用保守光栅化时不使用采样。

在许多情况下,保守光栅化非常有用,包括在碰撞检测、遮挡剔除和图块式渲染中实现确定性。

例如,下图显示了一个使用保守光栅化渲染的绿色三角形,它的外观与在光栅器中相同(使用16.8定点顶点坐标)。褐色区域称为“不确定性区域”-表示三角形扩展边界的概念性区域,需确保光栅器中的基元相对于原始浮点顶点坐标而言是保守的。每个顶点上的红色方块显示如何计算不确定性区域:扫描方块。

灰色的大方块显示要渲染的像素。粉红色方块显示使用“左上规则”渲染的像素。当三角形的边缘越过像素的边缘时,将应用该规则。在正常情况下,系统可能会剔除某些误报(设置了原本不应该设置的像素),但不一定总会剔除。

在保守光栅化模式下,应用光栅化规则的方式与未启用保守光栅化模式时相同,但对于上述“左上规则”和“像素覆盖”例外。必须使用16.8定点光栅器精度。

对于硬件使用完整浮点顶点坐标时不会覆盖的像素,仅当这些像素位于不大于定点域中像素的一半的不确定性区域内时,才可以包含这些像素。将来的硬件有望达到第2层中指定的紧密不确定性区域。请注意,此要求会阻止银色三角形进一步扩展为超过所需的大小。

内部和外部不确定性区域必须大于或等于定点域中的子像素网格大小的一半,或某个像素的1/512。这是最小的有效不确定性区域。1/512取自16.8定点光栅器坐标表示形式,以及将浮点顶点坐标转换为16.8定点坐标时应用的近似值舍入规则。如果光栅器精度发生变化,1/512可能会变化。如果某个实现实现此最小不确定性区域,当不确定性区域的某个边或角落在某个像素的边或角上时,这些值必须遵循左上规则。应将不确定性区域的裁剪边视为最靠近的顶点,即,将它算作两条边:在关联的顶点上联接的两条边。使用最小的不确定性区域时需要应用左上规则,否则,保守光栅化实现无法光栅化当禁用保守光栅化模式时可能覆盖的像素。

下图演示了扫描围绕定点域中基元边缘(即,顶点已由16.8定点表示形式量化)的方块后生成的有效外部不确定性区域。此方块的维度基于有效的外部不确定性区域大小:对于像素的1/2,此方块的宽度和高度是1个像素;对于像素的1/512,此方块的宽度和高度是1/256个像素。绿色三角形表示给定的基元,红色虚线表示绑定在高估保守光栅化绑定中,纯黑色方块表示沿基元边缘扫描,蓝色棋盘区域是外部不确定性区域:

无论RenderTarget/DepthStencil图面中的样本数(,或者是否)使用ForcedSampleCount,保守光栅化光栅化的像素都会覆盖所有样本。无论各个样本位置是否在基元范围内,都不会对其进行测试。

针对保守光栅化的像素继续处理深度/模具测试的方式,与针对未启用保守光栅化时覆盖的所有样本的处理方式相同。

继续处理所有覆盖的样本可能会导致有效的深度外插,必须将深度外插钳接到未启用保守光栅化时指定的视区。这类似于对样本计数大于1的RenderTarget使用像素频率内插模式,不过,对于保守光栅化,它是进入可以外插的固定函数深度测试的深度值。

使用深度外插时的提前深度剔除行为是不确定的。这是因为某些提前深度剔除硬件无法正常支持外插的深度值。但是,即使硬件能够支持外插的深度值,使用深度外插时的提前深度剔除行为也会出现问题。可以通过将像素着色器钳接到所要光栅化的基元的最小和最大深度值,并将该值写入oDepth(像素着色器输出深度寄存器),来解决此问题。由于oDepth写入,在此情况下,实现必须禁用提前深度剔除。

应用帮助器像素规则的方式与未启用保守光栅化时相同。在此过程中,所有像素(包括帮助器像素)必须根据InputCoverage交互部分中的指定准确报告InputCoverage。因此,完全未覆盖的像素将报告0覆盖度。

保守光栅化像素的输出覆盖(oMask)行为与未对所有样本启用保守光栅化时相同。

在保守光栅化模式下,填充此输入寄存器的方式如同未针对给定保守光栅化像素启用保守光栅化时覆盖了所有样本时一样。也就是说,所有现有交互都(例如SampleMask应用于),并且对于保守光栅化像素,LSB中的InputCoverage前n个位设置为1,给定在输出合并处绑定的每个像素RenderTarget和/或DepthStencil缓冲区的n个样本,或一个n个示例ForcedSampleCount。余下的位均为0。

无论是否使用保守光栅化,此输入在着色器中均可用,不过,保守光栅化会改变其行为,只显示所有覆盖的样本(或者不显示帮助器像素的任何样本)。

此功能对于第3层是必需的,并且只能在第3层中使用。如果实现支持低于第3层的层,则运行时无法为使用此模式的着色器创建着色器。

像素着色器可以使用一个32位标量整数“系统生成值”:InnerCoverage。仅当保证像素完全位于当前基元中时,此位域才包含给定保守光栅化像素的、设置为1的LSB中的位0。未设置位0时,必须将所有其他输入寄存器位设置为0,但是,当位0设置为1时,这些寄存器位是不确定的(本质上,此位域表示一个布尔值,false必须确切地为0,但true可以是任何奇数(即已设置0位)非零值)。此输入用于低估的保守光栅化信息。它告知像素着色器当前像素是否完全位于几何体内。

当分辨率大于或等于运行当前绘图操作时的分辨率时,必须将此算作贴靠错误。不得出现误报(由于分辨率大于或等于运行当前绘图操作时的分辨率而出错,因此未完全覆盖像素时设置InnerCoverage位),但允许漏报。总而言之,实现不得错误地将像素标识为完全已覆盖,否则光栅器中不会使用完整的浮点顶点坐标。

对于硬件使用完整浮点顶点坐标时完全覆盖的像素,仅当它们与内部不确定性区域相交时,才能将其忽略。在这种情况下,该区域不得大于定点域中的子像素网格的大小,或某个像素的1/256。换句话说,完全位于内部不确定性区域边界内的像素必须标记为完全已覆盖。下图中的粗黑虚线演示了不确定性区域的内部边界。1/256取自16.8定点光栅器坐标表示形式,如果光栅器精度发生变化,此值可能也会变化。此不确定性区域足以应对在光栅器中将浮点顶点坐标转换为定点顶点坐标导致的贴靠错误。

在光栅化规则交互中定义的1/512最小不确定性区域要求在此处也同样适用。

下图演示了扫描围绕定点域中基元边缘(即,顶点已由16.8定点表示形式量化)的方块后生成的有效内部不确定性区域。此方块的维度基于有效的内部不确定性区域大小:对于像素的1/256,此方块的宽度和高度为1/128个像素。绿色三角形表示给定的基元,粗黑虚线表示内部不确定性区域的边界,纯黑色方块表示沿基元边缘扫描的方块,橙色棋盘区域是内部不确定性区域:

使用InnerCoverage不会影响是否对像素进行保守光栅化,即,在启用保守光栅化模式的情况下使用其中一种InputCoverage模式不会影响到要光栅化哪些像素。因此,如果使用InnerCoverage并且像素着色器正在处理未完全由几何体覆盖的像素,则其值为0,但是,像素着色器调用的样本将会更新。这是不同于InputCoverage为0的情况,后者表示不更新任何样本。

此输入与InputCoverage互斥:不能同时使用两者。

InnerCoverage位域不受深度/模具测试的影响,也不会通过AND运算符与SampleMask光栅器状态合并。

此输入仅在保守光栅化模式下有效。如果未启用保守光栅化,InnerCoverage会生成不确定的值。

需要使用帮助器像素,否则不会由基元覆盖的像素着色器调用的InnerCoverage寄存器必须设置为0。

属性内插模式将保持不变,其处理方式与未启用保守光栅化(使用视区缩放和定点转换的顶点)时相同。由于保守光栅化像素中的所有样本均被视为已覆盖,因此,它对于外插的值是有效的,类似于对样本计数大于1的RenderTarget使用像素频率内插模式。质心内插模式生成的结果与相应的非质心内插模式相同;在此情况下,质心的概念没有意义–其中的样本覆盖度为“完全”或为0。

保守光栅化允许退化三角形生成像素着色器调用,因此,退化三角形必须使用为所有内插值的顶点0分配的值。

启用保守光栅化模式时,裁剪距离是有效的,保守光栅化像素的行为与在覆盖所有样本的情况下未启用保守光栅化时相同。

请注意,保守光栅化可能会导致W顶点坐标外推,这可能会导致W<=0。这可能导致按像素裁剪距离实现在透视除以无效W值的裁剪距离上运行。剪辑距离实现必须防止对顶点坐标W<=0(像素调用光栅化,例如,在保守光栅化模式下)由于推断。

保守光栅化模式与目标独立的光栅化(TIR)兼容。TIR规则和限制适用,保守光栅化像素的行为与覆盖所有样本时相同。

未为线条或点基元定义保守光栅化。因此,如果在启用保守光栅化的情况下将指定点或线条的基元拓扑馈送到光栅器单元,这些拓扑会产生不确定的行为。

调试层验证会验证应用程序是否未使用这些基元拓扑。

每次在保守保守光栅化模式下以保守方式像素化像素,像素着色器调用都应该递增。

所有剔除状态在保守光栅化模式下有效,遵循的规则与未启用保守光栅化时相同。

IsFrontFace系统生成值可在保守光栅化模式下使用,遵循未启用保守光栅化时定义的行为。

这是因为,D3D12功能规范指定线框填充模式应将三角形的边转换为线条,并遵循线条光栅化规则,而保守线条光栅化行为尚未定义。

Direct3D12支持的光栅化类型有时称为“高估保守光栅化”。此外还存在“低估保守光栅化”的概念,表示仅光栅化未由渲染基元完全覆盖的像素。可以使用输入覆盖数据通过像素着色器获取低估保守光栅化信息,只有高估保守光栅化作为光栅化模式提供。

如果基元类型的任何组成部分与某个像素重叠,该像素将被视为已覆盖,然后光栅化。如果基元的边或角落在像素的边或角上,则“左上规则”的应用将根据实现而定。但是,对于支持退化三角形的实现,边或角上的退化三角形必须至少覆盖一个像素。

对于非退化后期贴靠基元的浮点顶点坐标,保守光栅化实现不会生成漏报:如果基元的任何组成部分与某个像素的任何组成部分重叠,则会光栅化该像素。

退化的(索引缓冲区中出现重复索引,或3D中出现共线)或者在定点转换后退化的(光栅化器中出现共线顶点)的三角形不一定会被剔除;两者都是有效的行为。必须将退化三角形视为朝向背面,因此,如果应用程序需要特定的行为,可以使用背面剔除,或者对正面朝向进行测试。退化三角形使用为所有内插值的顶点0分配的值。

THE END
1.3d中奖规则和玩法3D中奖规则和玩法主要包括单选、组选三和组选六等方式,每种方式的中奖条件和奖金各不相同。首先,单选玩法需要投注号码与当期开奖号码按位全部相同,即百位、十位和个位数字都要一致,才能中奖。例如,如果开奖号码是123,那么只有投注了123的彩票才能中奖。单选的中奖奖金通常较高,但中奖难度也相对较大。https://zhidao.baidu.com/question/1959142863472467588.html
2.福彩百科3D游戏怎么玩?摇奖机怎么摇奖?统一规则、统一开奖 数字型彩票游戏 小玩法、大品牌 固定奖、天天开 深受广大购彩者喜爱 PART.1 3D游戏怎么玩? 自愿购买,每注2元 一组三个号码的排列或组合称为一注 投注号码由000-999组成 三个位置从左至右 分别为 “百位”、“十位”、“个位” https://mp.weixin.qq.com/s?__biz=MzA3MzMxNTgxNw==&mid=2650071629&idx=2&sn=d824c80f98645638bccaa898a08c8c4d&chksm=8612a01ee60b9a77a535f90e0606c9e300b6a0be16db51d316c2e2f4b7accda49fd8195be719&scene=27
3.福彩3d选号技巧:两种算法让中奖中到爆经过总结,小编发现目前“3D”流行的算法大致分为两种: 一、是感觉选号法:1、在分布图上寻找一些斜连码、跳码、周期码等,目的是确定单码。2、根据遗漏、遗传、趋势寻找点位变化规律,目的是找确定点位。3、根据试机号、机球号寻找相关组合号再组合。4、通过加、减、乘、除和分析上期号码选组合。5、根据吉祥号https://www.17500.cn/arts/sdetail-11221990.html
4.Neotech不规则3D随形微电子打印机>>印刷电子,微纳米材料打印德国Neotech印刷电子行业3D复杂不规则结构随形打印技术,在不断地研发增材制造技术的过程中将三维打印的工艺应用推向新的工业制造新高度;其研发型以及批量生产型三维打印设备适用于加工制造种类广泛的功能材料包括从导电,半导体,绝缘材料,介电质,以及生物医学材料等,而3D微电子喷墨打印机可以用于在任意形状衬底上进行精密http://www.micro-nanotech.com/ps.asp?id=3480&bid=151
5.Excel中怎么将每一行的最小值标记出来?2.点击菜单栏中的“开始”>"条件格式“>”新建规则“按钮。https://www.3d66.com/answers/question_848051.html
6.基于CityEngine规则转换要素(3DAnalyst)—ArcGISPro文档按照在ArcGIS CityEngine中创作的规则基于现有 2D 和 3D 输入要素生成 3D 几何。 使用情况 输入要素可以是点、面或多面体。 应该为CityEngine规则包文件 (.rpk) 中的@StartRule指定预期的输入要素类型:对于点,该类型为@InPoint注记;对于面,该类型为@InPolygon;对于多面体要素,该类型为@InMesh。 如果@StartRule未使https://pro.arcgis.com/zh-cn/pro-app/3.0/tool-reference/3d-analyst/features-from-cityengine-rules.htm
7.3dmaze游戏攻略,迷宫探险者的终极指南3dmaze是一款以迷宫探险为主题的冒险游戏,在游戏中,玩家需要操控角色穿越错综复杂的迷宫,收集宝藏,并成功逃离迷宫,游戏的基本规则看似简单,但其中蕴含的技巧与策略却需要玩家深入探索。 二、掌握地图,制定策略 在3dmaze中,地图是玩家的最佳朋友,一开始,不要急于深入迷宫中心,而是先熟悉地图布局,标记出重要位置和障碍物http://www.shrxym.cn/zxgl/77893.html
8.Vatti算法,2d,3d裁切(bool运算)曲线曲面这样的规则记f(wind)=0\ or\ 1,0表示外,1表示内。 通过这样的定义,一个多边形是可以自交,带洞,边是曲线,等等。 Vatti 我们可以把Vatti看做是计算f(wind)=1区域的一个算法。算法接受若干条 闭合曲线和一个回调方法f。返回f(wind)=1的区域。 https://zhuanlan.zhihu.com/p/374575930
9.深入浅出指令编码之四:指令核心要深入掌握Opcode规则,必要记住上述2点:一是Opcode表的基本元素,学会分析Operand属性字符,二是理解上面所讲的operand寻址模式。 三、x87指令、3Dnow指令、64-media and 128-media指令介绍 1、x87指令介绍 Opcode范围从D8 ~ DF是x87 float指令Opcode,实际上x87指令的Opcode是2个字节的,D8~DF是主字节,ModRM是补充https://www.pediy.com/kssd/pediy10/78121.html
10.域外合同法的履行不能理论对我国审理涉疫情案件的借鉴与思考合同成立之后,出现某个情况导致合同履行困难、当事人无法兑现当初承诺的情形在生活中司空见惯,对此,传统普通法的态度非常严苛,它奉行的基本规则是“合同必须遵守”(pacta sunt servanda),即使天塌下来,合同当事人也必须履行合同。3有的情形下,法院也许不能强制当事人实际履行,但合同当事人的损害赔偿责任却不能因为http://www.sdcourt.gov.cn/ytlsqfy/390531/390465/7013517/index.html
11.计算机科学技术:photoshopcs5知识学习(最新版)考试题库D.3D图层不能建立蒙版 点击查看答案 7、单项选择题 如图所示,使用魔术棒工具对图像进行选择,在下图显示的选区增加过程中,应该使用图中ABCD哪个按钮辅助选择?() A.A B.B C.C D.D 点击查看答案 8、单项选择题 如图所示,通过复制通道的方法给左图的猫创建选区,将小猫拷贝粘贴到另外的背景中得到右图所示效果http://www.91exam.org/exam/87-1059/1059820.html
12.AltiumDesigner版本发布说明AltiumDesigner23技术文档53989 当将PCB导出为STEP 3D或PARASOLID格式时,生成模型中的各层将相对于存在Stiffener层的区域移动。(BC:19516) 54119 当在两个对象之间应用‘相同网络’间距规则时,软件对DRC强制执行‘Applicable Binary Rules'窗口所示规则以外的不同规则。 54169 此时将对堆栈通孔焊盘和过孔的孔形状(所有类型)进行检查,以检测是否https://www.altium.com/cn/documentation/altium-designer/public-release-notes?version=23
13.Surfer24.1破解版GoldenSoftwareSurfer24.3(21使用让您可以轻松的制作出高质量的出版物质量图,支持根据需要自由的添加地图图层和任何对象,支持添加文本注释以及更多的内容,从而让地图效果更佳的生动和易于理解,所有的地图细节都能够进行自定义选择和设置,从而最精准的完成你的想法,此外软件还是基于网格的映射程序,支持通过简单的点击将不规则间隔的XYZ数据插值到规则http://www.sd173.com/soft/9140.html
14.AudioUnit:iOS中最底层最强大的音频控制APImFormatFlags(metaflag): 某些audio unit使用不规则的音频数据格式即不同的音频数据类型,则mFormatFlags字段需要不同的标志集。 例如:3D Mixer unit需要UInt16类型数据作为采样值且mFormatFlags需要设置为kAudioFormatFlagsCanonical. mBytesPerPacket: 每个音频包中有多少字节数 https://avmedia.0voice.com/?id=584
15.BlockPuzzle3D行走的3D拼图,极其考验空间想象能力Block Puzzle 3D 是一款动态旋转的 3D 拼图游戏,你需要在 3D 空间中将不断出现的不规则图案放置在底座上,每填满一个平面就消除一层,直至 GAME OVER @Appinnhttps://www.appinn.com/jengris/comment-page-1/
16.中国福利彩票3D中国福利彩票“3D”由中国福利彩票发行中心统一发行[1]。中国福利彩票“3D”实行自愿购买,凡投注者均被视为同意遵守本规则。中国福利彩票发行管理中心唯一指定网络信息发布媒体为中彩网。也可在网上购买3D。 中国福利彩票3D游戏(以下简称3D),是以一个3位自然数为投注号码的彩票,投注者从000-999的数字中选择一个3位http://baike.soso.com/v26179975.htm
17.3DIC设计之系统级版图原理图一致性检查013D-IC 设计中不同模块的数据来自于不同的设计工具,设计师面临着合并来自于不同平台的物理数据然后去完成系统性的物理验证和分析的挑战。 02不同的芯片可能来自于不同的 Foundry,采用不同的工艺,有着不同的物理验证规则,如何统一出一个系统级物理验证规则? https://www.elecfans.com/d/1954177.html