-
Notifications
You must be signed in to change notification settings - Fork 266
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
[❔ other question] Sampling irradiancemeter correctly #445
Comments
Hi @MaximilianBader , This seems to be a pretty simple setup. Could you take a look at the origins/directions generated rays and check that those make sense and will hit the scene's geometry (here a disk)? |
Hi @Speierers, Sorry for not mentioning this. I checked the directions before and apparently the rays never hit the disk. As I tried to describe, I would like to avoid any sensitivity pattern on the sensor and thus, selected the irradiancemeter on a very small rectangular area shape. However, as the sampled ray directions do not hit the disk in this scenario, I see no other option than selecting a sensor with a directivity / sensitivity pattern instead. Do you see any alternative? |
Hi @MaximilianBader, I am not really sure what you mean by "pattern" in this experiments? As I understand, you have a point light emitter and a roughdielectric disk placed in between the emitter and the sensor. For the sensor, you are interested in the overall irradiance hitting the sensor from all directions? If you are interested in the radiance coming to the sensor from a specific direction, you might consider using a different sensor then. E.g. the |
Hi @Speierers, Sorry for not clarifying this. When I'm talking about a directivity pattern, I'm thinking about the probability of a ray being detected from a certain direction. To the best of my knowledge, a perspective pinhole camera only detects rays from certain directions, correct? So when I'm utilizing a |
Hence if I understand correctly, "avoiding any sensitivity pattern" would mean that you would like to have a sensor that samples rays in any directions in the hemisphere above its main direction? That sounds like the With the With both sensor, it makes sense that a large portion of the rays will be "lost" in the void. You would need to implement a specific importance sampling procedure in the sensor to mitigate this issue. You could also take a look at PR #143 which might implement the type of sensor you are looking for. I will close this as it isn't an issue, but happy to still answer further questions. |
Hi @Speierers, Thanks for the clarification. Indeed I was looking for a sensor that samples rays in any direction in the hemisphere and thus, chose an Thanks for referencing PR #143 which might be very helpful for my applications! I agree that this was not really an issue, but rather a question up for discussion. I think, at this point you gave me all the advice that I require to think about possible implementations of the importance sampling procedure. Thanks bunch! |
Summary
Number of hitting rays using an irradiancemeter attached to rectangular shape is too low. How can I ensure that there are hitting rays?
Description
I have a very simple example scene and use a path integrator to render a point emitter, a small scattering disc and a sensor of very small size. As I'm interested in the irradiance, I chose an irradiancemeter as sensor type. I used the depth_integrator.py example to write my own code in Python and count the number of hitting rays (see code below). Unfortunately, due to the setup the number of hitting rays is 0 even though I massively increased the number of pixels per sample.
Due to the desired application of mitsuba for my reasons, I'm interested in using a sensor with no preset sensitivity pattern. I want to determine the overall irradiance on the sensor area. Do you have any suggestions, how I might be able to render this scene in such a way that I can ensure a sufficient number of hitting rays? Should I change the type of sensor?
Code
ray_tracing_example.py
example_us_scene.xml
The text was updated successfully, but these errors were encountered: