Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
imjiangjun
pbrt-v4
提交
f420661c
P
pbrt-v4
项目概览
imjiangjun
/
pbrt-v4
11 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
pbrt-v4
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f420661c
编写于
9月 14, 2021
作者:
M
Matt Pharr
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove unused Allocator parameter to BVHLightSampler::buildBVH() method
上级
a417e141
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
12 addition
and
12 deletion
+12
-12
src/pbrt/lightsamplers.cpp
src/pbrt/lightsamplers.cpp
+11
-11
src/pbrt/lightsamplers.h
src/pbrt/lightsamplers.h
+1
-1
未找到文件。
src/pbrt/lightsamplers.cpp
浏览文件 @
f420661c
...
...
@@ -125,14 +125,14 @@ BVHLightSampler::BVHLightSampler(pstd::span<const Light> lights, Allocator alloc
}
}
if
(
!
bvhLights
.
empty
())
buildBVH
(
bvhLights
,
0
,
bvhLights
.
size
(),
0
,
0
,
alloc
);
buildBVH
(
bvhLights
,
0
,
bvhLights
.
size
(),
0
,
0
);
lightBVHBytes
+=
nodes
.
size
()
*
sizeof
(
LightBVHNode
);
}
std
::
pair
<
int
,
LightBounds
>
BVHLightSampler
::
buildBVH
(
std
::
vector
<
std
::
pair
<
int
,
LightBounds
>>
&
bvhLights
,
int
start
,
int
end
,
uint32_t
bitTrail
,
int
depth
,
Allocator
alloc
)
{
CHECK_LT
(
start
,
end
);
uint32_t
bitTrail
,
int
depth
)
{
D
CHECK_LT
(
start
,
end
);
// Initialize leaf node if only a single light remains
if
(
end
-
start
==
1
)
{
int
nodeIndex
=
nodes
.
size
();
...
...
@@ -166,8 +166,8 @@ std::pair<int, LightBounds> BVHLightSampler::buildBVH(
int
b
=
nBuckets
*
centroidBounds
.
Offset
(
pc
)[
dim
];
if
(
b
==
nBuckets
)
b
=
nBuckets
-
1
;
CHECK_GE
(
b
,
0
);
CHECK_LT
(
b
,
nBuckets
);
D
CHECK_GE
(
b
,
0
);
D
CHECK_LT
(
b
,
nBuckets
);
bucketLightBounds
[
b
]
=
Union
(
bucketLightBounds
[
b
],
bvhLights
[
i
].
second
);
}
...
...
@@ -207,14 +207,14 @@ std::pair<int, LightBounds> BVHLightSampler::buildBVH(
centroidBounds
.
Offset
(
l
.
second
.
Centroid
())[
minCostSplitDim
];
if
(
b
==
nBuckets
)
b
=
nBuckets
-
1
;
CHECK_GE
(
b
,
0
);
CHECK_LT
(
b
,
nBuckets
);
D
CHECK_GE
(
b
,
0
);
D
CHECK_LT
(
b
,
nBuckets
);
return
b
<=
minCostSplitBucket
;
});
mid
=
pmid
-
&
bvhLights
[
0
];
if
(
mid
==
start
||
mid
==
end
)
mid
=
(
start
+
end
)
/
2
;
CHECK
(
mid
>
start
&&
mid
<
end
);
D
CHECK
(
mid
>
start
&&
mid
<
end
);
}
// Allocate interior _LightBVHNode_ and recursively initialize children
...
...
@@ -222,10 +222,10 @@ std::pair<int, LightBounds> BVHLightSampler::buildBVH(
nodes
.
push_back
(
LightBVHNode
());
CHECK_LT
(
depth
,
64
);
std
::
pair
<
int
,
LightBounds
>
child0
=
buildBVH
(
bvhLights
,
start
,
mid
,
bitTrail
,
depth
+
1
,
alloc
);
CHECK_EQ
(
nodeIndex
+
1
,
child0
.
first
);
buildBVH
(
bvhLights
,
start
,
mid
,
bitTrail
,
depth
+
1
);
D
CHECK_EQ
(
nodeIndex
+
1
,
child0
.
first
);
std
::
pair
<
int
,
LightBounds
>
child1
=
buildBVH
(
bvhLights
,
mid
,
end
,
bitTrail
|
(
1u
<<
depth
),
depth
+
1
,
alloc
);
buildBVH
(
bvhLights
,
mid
,
end
,
bitTrail
|
(
1u
<<
depth
),
depth
+
1
);
// Initialize interior node and return node index and bounds
LightBounds
lb
=
Union
(
child0
.
second
,
child1
.
second
);
...
...
src/pbrt/lightsamplers.h
浏览文件 @
f420661c
...
...
@@ -384,7 +384,7 @@ class BVHLightSampler {
// BVHLightSampler Private Methods
std
::
pair
<
int
,
LightBounds
>
buildBVH
(
std
::
vector
<
std
::
pair
<
int
,
LightBounds
>>
&
bvhLights
,
int
start
,
int
end
,
uint32_t
bitTrail
,
int
depth
,
Allocator
alloc
);
uint32_t
bitTrail
,
int
depth
);
Float
EvaluateCost
(
const
LightBounds
&
b
,
const
Bounds3f
&
bounds
,
int
dim
)
const
{
// Evaluate direction bounds measure for _LightBounds_
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录