- 23 8月, 2021 1 次提交
-
-
由 Matt Pharr 提交于
Remove SceneProcessor interface class (only had one implementation) Rename ParsedScene -> BasicScene
-
- 21 8月, 2021 1 次提交
-
-
由 Matt Pharr 提交于
Make SquareMatrix::Determinant() a stand-alone function. Remove rarely-used Bilerp() function
-
- 19 8月, 2021 1 次提交
-
-
由 Matt Pharr 提交于
-
- 18 8月, 2021 1 次提交
-
-
由 Matt Pharr 提交于
-
- 06 8月, 2021 1 次提交
-
-
由 Matt Pharr 提交于
-
- 31 7月, 2021 1 次提交
-
-
由 Matt Pharr 提交于
-
- 29 7月, 2021 1 次提交
-
-
由 Matt Pharr 提交于
The previous implementation repeatedly assumed that Allocators were thread safe; this is not required for std::pmr allocators, but happened to be the case when the default allocator is used on the CPU (since new/delete are thread safe.) For the GPU, the CUDATrackedMemoryResource was also thread-safe, but it also included some per-thread caching that doesn't really belong in a memory resource. Therefore, the WavefrontPathIntegrator (and friends) now no longer assume that allocators are thread-safe, but instead explicitly use per-thread allocators in parallel code. CUDATrackedMemoryResource is simplified to be just a memory resource, and now we use a std::pmr::monotonic_buffer_resource when we actually want chunked allocation.
-
- 22 5月, 2021 1 次提交
-
-
由 Matt Pharr 提交于
-
- 20 5月, 2021 1 次提交
-
-
由 Matt Pharr 提交于
-
- 17 5月, 2021 1 次提交
-
-
由 Matt Pharr 提交于
Also, add a check that issues an error if there is a MixMaterial that uses a complex texture to select between the materials (which isn't supported in the current implementation).
-
- 06 5月, 2021 1 次提交
-
-
由 Matt Pharr 提交于
Assorted cleanups; no functional changes.
-
- 03 5月, 2021 1 次提交
-
-
由 Matt Pharr 提交于
* Generalize GPU rendering path to run on both CPU and GPU Now we have a WavefrontIntegrator that can both run on the CPU (backed by ParallelFor() for parallelization and pbrt's aggregates for ray intersection acceleration) and on the GPU (backed by GPUParallelFor() for parallelization and OptiX for ray intersection on NVIDIA GPUs.) Beyond generalizing the code, this refactor allows CPU-side debugging and testing of the wavefront integrator. Doing so allows further isolation of the GPU-specific code into a few source files, now just ~2.5k lines of code. This includes a bug fix in the wavefront medium code to resolve MixMaterials to one of their constituent materials before enqueuing material evaluation and shading work. Note that on the CPU, the wavefront integrator runs 5-10x more slowly than pbrt's regular CPU integrators, so it is not recommended for regular use... Co-authored-by: NWenzel Jakob <wenzel.jakob@epfl.ch>
-