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

v37/v38 photon interaction dropped with no_image qualified object. #373

Open
wfpokorny opened this issue May 10, 2019 · 1 comment
Open
Labels
project triage pending still need to decide in which branch to tackle this

Comments

@wfpokorny
Copy link
Contributor

wfpokorny commented May 10, 2019

Summary

Issue introduced in v3.6 to v3.7 work. For more information and a test scene
see the povray-advanced-users post on 7 May 2019 by Albun with the subject:
Photons, in version 3.6 to 3.7. See:

http://news.povray.org/povray.advanced-users/thread/%3C5cd57ec3%241%40news.povray.org%3E/

A couple of comments related to the proposed IsImageRay() update (what's in the branch below). First, the (primaryRay && !photonRay) || part comes due the photon shooting strategy code setting the initial photon rays as a primaryRay. Maybe these could be otherRay instead, but it's primaryRay today.

On the concern in changing IsImageRay(), in general, my thinking is the !photonRay additions are likely safe due those rays being used only during the depositing of photons. The photon gather mechanism is used during actual tracing. That said, IsImageRay() is used in the csg code which I might presume is also tangled in photon rays - review there are a good idea. When I next build my personal 'povr' I'll pick up the proposed change and test against the photon test cases I've been using in that pull #358 comment thread.

Edit 11 May 2019: Looking at the use IsImageRay() usage in the csg code, it was already not run with photon rays due !ray.IsPhotonRay() && ... in the overall conditional. Further, instead of waiting on the next compile of my 'povr', I compared v380 to the v380 + proposed IsImageRay results over a couple hours this morning for the 120+ pull #358 related photon test cases I have at the moment. While none of these have no_image qualifiers they did all match exactly.

Environment

Ubuntu 18.04 g++ 7.

Attach 3.6 scene with the no_image qualifier works in v3.6.1.

No scene with the no_image qualifier works in v3.7 or v3.8(up to 74b3ebe).

Render Settings

povray <scene> 

Scene

See attached:

the.pov.txt
the36.pov.txt
the36_wNoImage.pov.txt
the_wNoImage.pov.txt

Output

v36_vs_v37_no_image

Suggested Solution

See:

https://github.com/wfpokorny/povray/tree/fix/photonNoImageIssue

@wfpokorny
Copy link
Contributor Author

Given none of my regular photon test cases with csg used no_image, I create a set this morning. See attached scenes:

the_wDifferenceNoImage.pov.txt
the_wIntersectionNoImage.pov.txt
the_wMergeNoImage.pov.txt
the_wUnionNoImage.pov.txt

All these did not work in v380 (at commit 74b3ebe) and needed the proposed change to work. See:

csgPhotonsNoImage

Think OK, but I admit to still being a little fuzzy on how the csg code interacts the photon shooting process.

@c-lipka c-lipka added the project triage pending still need to decide in which branch to tackle this label Jun 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
project triage pending still need to decide in which branch to tackle this
Projects
None yet
Development

No branches or pull requests

2 participants