Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remaining problems in AdaPT #3

Closed
2 of 4 tasks
Enigmatisms opened this issue Mar 8, 2023 · 6 comments
Closed
2 of 4 tasks

Remaining problems in AdaPT #3

Enigmatisms opened this issue Mar 8, 2023 · 6 comments
Assignees
Labels
help wanted Extra attention is needed todo Some task to be done in the future.

Comments

@Enigmatisms
Copy link
Owner

Enigmatisms commented Mar 8, 2023

Currently, BDPT is already implemented therefore I might slow down the development on this repo. Yet, some problems remain in the repo:

  • Specular material rendering result inconsistency. When rendering mirror reflection / Frensel specular effect, BDPT tends to have darker (surface), while other non-specular parts are intact. BDPT rendering is not consistent with PT rendering (which looks better), nor is the result consistent with pbrt-v3 or Mitsuba0.6 (though, pbrt-v3/4 can't render a noise free image of csphere/single-ball.xml, Mitsuba0.6 itself doesn't look as good as pt rendering). This should be taken care of.
  • Anisotropic BRDF burst noise. For FrenselBlend BRDF, there will be shot noises on the image. I suspect it's the problem of PDF calculation (MIS weight)
  • Taichi function inlining introduces long JIT compilation time for BDPT since BDPT is lengthy and its member functions usually have complicated parameter. This should be optimized.
  • VPT / volumetric BDPT seems to be fixed already, but the brightness seems not consistent with PT (no extensive experiment shows this yet, I just remember this vaguely). Brightness is not a huge problem, though.

New features that can be added:

  • Since BDPT is added, we can implement collimated light and spot light in the repo.
  • Scene visualizer should first experiment on mouse control (for view manipulation purpose). Since AdaPT is a real time rendering platform (on GPU and without BDPT, BDPT can only reach 12-16 fps, yet some scene for PT can achieve 120+fps), we can consider changing the camera extrinsic and other configs on the fly.
  • More BSDF (for different transmission / reflection effect), this is relatively easy.
  • Metropolis light transport can be added to further boost the rendering (low priority).
@Enigmatisms Enigmatisms added the help wanted Extra attention is needed label Mar 8, 2023
@Enigmatisms Enigmatisms self-assigned this Mar 8, 2023
@Enigmatisms Enigmatisms pinned this issue Mar 8, 2023
@Enigmatisms
Copy link
Owner Author

Oh, don't forget acceleration structure like BVH / KD-tree implementation.

@Enigmatisms Enigmatisms added the todo Some task to be done in the future. label Mar 8, 2023
@Enigmatisms
Copy link
Owner Author

Pull request #4 seems to have fixed some of the problems mentioned above:

  • Specular material rendering result inconsistency. The current problem of specular path is about caustics path (SDS), which slows down the convergence. Yet the problem of the material being darker is fixed.
  • Anisotropic BRDF burst noise. This was due to the wrong caculation of PDF and we failed to do the correct diffusive / specular part sampling.
  • VPT brightness consistency with PT. Now the sampled vertex can be correctly updated, therefore I think the brightness consistency (brightness loss problem) might be fixed already? No comparison is provided, though.

About JIT and code optimization, these stuff should be done in the future when I have time.

@Enigmatisms
Copy link
Owner Author

Currently, collimated light and transient rendering are completed (see PR #6 and the subsequent commits). It can be observed that the transient rendering output worse simulations as time progresses (lack of samples, according to Jarabo et al. 2014).

@Enigmatisms
Copy link
Owner Author

  • BVH and acceleration structure should be implemented.
  • Mode Transient Lit (camera unwarped mode) is not correct.

@Enigmatisms
Copy link
Owner Author

BVH acceleration structure is on going but the current solution is suboptimal, since stack is not easy to implement in Taichi lang (actually, dynamic snode would help). In this sense, the code has some parts (non-trivial) that can be improved with dynamic snode.

Repository owner deleted a comment from jchinniah May 24, 2023
Repository owner deleted a comment from zubairdroid May 27, 2023
@Enigmatisms Enigmatisms unpinned this issue Jul 8, 2023
Repository owner locked as off-topic and limited conversation to collaborators Jul 8, 2023
@Enigmatisms
Copy link
Owner Author

Staled tasks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
help wanted Extra attention is needed todo Some task to be done in the future.
Projects
None yet
Development

No branches or pull requests

1 participant