如图所示,4(a,b)。为了解决这个问题,我们在记
录 x
o
, x
0/
及 其 相 应 的 深 度 和 模 具 缓 冲 区 时 挂 钩 到
DirectX绘制函数。具体-
通常,我们通过不渲染任何对象来获得干净的场景
而是目前正在考虑中的一个。因此,钩子函数只对当
前目标对象发出渲染调用,而忽略所有其他渲染请
求。
为了计算对象o∈ O的非模态掩码a
o
,我们融合
0/
深度缓冲区和模板缓冲区的信息,在-
而
不是纯粹使用深度缓冲区或模板缓冲区。我们发现使
用两者的组合对于更高的准确性很重要例如,我们发
现在切换可见性后,物体的深度
特别是对于柔软
的
物体例如衣服。这种随机性
f
在渲染过程中,大概是为了增加游戏真实性而添加的-
图3:随着每个记录的图像,我们还记录
深度缓冲区(第二列)和模板缓冲区(第三列)。我
们收集所有对象显示的数据(第一行),所有对象不
可见的(第二行),以及一个一次只显示一个对象的
示例(第三行)。
ISM,在专门基于深度掩模计算分割时导致伪像。因
此,使用纯粹的深度信息是不够的,而模板缓冲区只
包含类级别的语义分割,而不是实例级别的分割。为
了获得准确的分割,我们首先计算非模态分割
基于深度
a0
,通过比较d
0
和d
0/
,
即
,
f
,
d f f
ao
= δ
(
d0
/
=
d0
/
)。
f
,
d f f
(a)
(b) (c)第
(1)款
图4:有些对象的可见性无法
这里,δ返回一个二进制掩码,指示对象深度图的哪些
像素与背景深度图不同
使用Script Hook V切换(a)有物体的框架
在O中未显示。建筑物的可见度不能
可以通过Script Hook V进行切换。(b)x
o
没有清洁的
背部─
使用上述公式计算信息,但将
深度缓冲区与模具缓冲区。
其中
非模态分割掩模。
为了计算可见分割,我们还首先com-
非模态分割:为了形式化地描述非模态分割的计算,
我们引入了一些符号。
对于每个帧
f
∈ {
1
,
.
,如图所示,
图1的第一行3 .第三章。对于每个帧f,我们还捕获
用模具替换深度缓冲区时,
缓冲液为了获得可见的分割候选
者
,
我们
不显示任何对象(见图)。3,第二行)。我们服从
帧f的所有对象,我们可以在集合
O
f
中切换其可见性。
我们通过Script Hook V获得这个集合。为每个
对象o
∈ O
f
,我们还捕获RGB图像x
o
,深度
bufferd
o
,而stencil buffers
o
只
显示一个对象
对象跟踪:O中的每个对象都被分配一个唯一的
ID在游戏中,我们可以通过访问
f f