ISET / iset3d-v3

LEGACY: Replaced by iset3d (v4) -- Read a PBRT file. Edit the parameters. Render an ISET scene or optical image.
MIT License
36 stars 8 forks source link

pbrt renderer ran in a Docker container does not create .dat file with correct size #8

Closed JoannaQH closed 5 years ago

JoannaQH commented 6 years ago

Hi,

Thanks for making this toolset available online. I downloaded the pbrt2iset and iset packages, however I am not able to run the code successfully.

I downloaded Docker onto my Windows 10 Enterprise system since the pbrt renderer relies on it. The Docker is set to using Linux containers. I ran the 'piRender.m' function and saw that a '*.dat' is created after the Docker based pbrt renderer returns. The Docker message looks fine and shows that there are X rays traced. However later on, the 'piReadDAT' function would exit with an error message that 'Image should have Y pixel elements'. I checked the size of the '.dat' file generated by pbrt and it is significantly smaller than it is supposed to be. The size also changes sometimes when I run 'piRender.m'.

It might be due to that Docker returns without flushing all the data out to the disk when the pbrt renderer exits. Another reason would also be that the pbrt renderer exits without finishing and the error message was not captured by Docker.

I am new to Docker and graphics rendering. Could you reply me if you happen to know a fix to this problem?

Thanks, Joanna

tlian7 commented 6 years ago

Hi Joanna,

I don't think I've encountered this error before, but I might be able to help with debugging. Could you give me some more information on what you're trying to render? Are you trying to run one of our example scripts or something of your own? In addition, how large is the *.dat file returned?

Lastly, what does the docker message return when it says "X rays traced?"

JoannaQH commented 6 years ago

Hi Trisha,

Thanks for the prompt reply. I was trying to run the example script 't_piRetroreflective.m'. The 'stop.dat' file created last time was 2052KB.

The 'piReadDAT' function shows this message first Reading image h=480 x w=640 x 31 spectral planes. Read 262654 pixel elements for image. then exits with this error message Image should have 9523200 pixel elements.

Here is a part of the docker message shows number of traced rays: Integrator Camera rays traced 4915200 The docker message also shows some error messages when it starts to run: W0508 23:43:52.646878 1 error.cpp:87] stop_materials.pbrt(6): Texture "sign_back_color" being redefined Warning: No metadata written out. W0508 23:43:52.700558 1 error.cpp:87] stop.pbrt(33): Extra value in lens specification file, this lens file may be for pbrt-v2-spectral. Removing extra value to make it compatible with pbrt-v3-spectral...

Total rendering time was 19 seconds on an Intel i7-6700 CPU 2.4GHZ. Please let me know if you need any other inforamtion.

Thanks, Joanna

hblasins commented 6 years ago

Hi Joanna,

did you try running any other scripts? it looks like you’re trying to render retroreflective materials, which I’m not sure have been implemented in the Docker version that has been made public.

Best, Henryk

Wiadomość napisana przez JoannaQH notifications@github.com<mailto:notifications@github.com> w dniu 08.05.2018, o godz. 17:59:

Hi Trisha,

Thanks for the prompt reply. I was trying to run the example script 't_piRetroreflective.m'. The 'stop.dat' file created last time was 2052KB.

The 'piReadDAT' function shows this message first Reading image h=480 x w=640 x 31 spectral planes. Read 262654 pixel elements for image. then exits with this error message Image should have 9523200 pixel elements.

Here is a part of the docker message shows number of traced rays: Integrator Camera rays traced 4915200 The docker message also shows some error messages when it starts to run: W0508 23:43:52.646878 1 error.cpp:87] stop_materials.pbrt(6): Texture "sign_back_color" being redefined Warning: No metadata written out. W0508 23:43:52.700558 1 error.cpp:87] stop.pbrt(33): Extra value in lens specification file, this lens file may be for pbrt-v2-spectral. Removing extra value to make it compatible with pbrt-v3-spectral...

Total rendering time was 19 seconds on an Intel i7-6700 CPU 2.4GHZ. Please let me know if you need any other inforamtion.

Thanks, Joanna

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/ISET/iset3d/issues/8#issuecomment-387587622, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AEDRKWQ2BGzLl3HMyNbrBJfAhGhAdp4Dks5twj9ugaJpZM4T3g62.

JoannaQH commented 6 years ago

Hi Henryk,

I tried almost every script in the tutorials folder, 't_piMaterials.m, t_piMaterialChange.m, t_piRetrorefelctive.m', and the behavior is the same.

Thanks, Joanna

tlian7 commented 6 years ago

Hi Joanna,

That is definitely very strange. A few more things that we can check:

  1. Can you try one of the scripts in iset3d/scripts/pbrtV3 and see if those works? For example, try s_pbrtv3Example.m

  2. Can you check your docker containers? I'm not sure how this works on Windows, but on Linux/OSX you can open up a terminal and type "docker images" to get a list of your images and when you pulled them. If we can check to see that you have the right and updated images we can rule out some more things.

  3. Another thing to check; would you be able to send us the PBRT files generated by piWrite? You should be able to find these in your iset3d/local/ folder. (After running the scripts, you can also find the output pbrt file location in recipe.outputFile.)

wandell commented 5 years ago

Solved long ago or at least no longer relevant.

floriancbeck commented 4 years ago

Hello Joanna,

I have the same type of problem on my Windows 10 system as soon as I increase some render quality parameters such as the film resolution and pixel samples over a certain threshold . Maybe it is a memory issue. Were you able to solve this issue somehow?

Best regards, Florian

JoannaQH commented 4 years ago

Hello Joanna,

I have the same type of problem on my Windows 10 system as soon as I increase some render quality parameters such as the film resolution and pixel samples over a certain threshold . Maybe it is a memory issue. Were you able to solve this issue somehow?

Best regards, Florian

Hi Florian,

I was not able to solve the issue. It was back in 2018 when I tried to use the package. It was still in early development stage I think and I encountered some other bugs so I stopped using the package..

Best regards, Qiong