Support #363

Error with ply file and subsurface scattering

Added by Paris Kalathas almost 2 years ago. Updated almost 2 years ago.

Status:NewStart date:06/28/2016
Priority:NormalDue date:
Assignee:-% Done:


Target version:-



I am very new to the mitsuba renderer and i am trying to render some ply files using the subsurface model.
On my first attempted, i copied the subsurface model from the sssdragon example, but when i tried to render it, i was getting an error in the log file which said "caught exception: vector<T> too long"
However, the rendering is successful when i comment out the subsurface model.

I also try to render the model with the mitsuba's build-in sphere shape and it works fine which lead me to the conclusion that there is some incompatibility with the subsurface model and the .ply file.

My xml input file is very simple:

<scene version="0.5.0">

&lt;shape type="ply"&gt;                                                
&lt;string name="filename" value="meshes/02.ply"/&gt;
&lt;bsdf type="plastic"&gt;
&lt;spectrum name="diffuseReflectance" value="0"/&gt;
&lt;subsurface type="dipole"&gt;
&lt;string name="material" value="skin2"/&gt;
&lt;float name="scale" value="0.25"/&gt;

I also tried to add the line <float name="maxSmoothAngle" value="0.3"/> in the shape in order to recreate the normals but i am getting another error, see attached image.

Am i doing something wrong?
Is there any option which i must use in order for the subsurface to work?

Thank you,
Paris Kalathas

error.jpg (32.9 KB) Paris Kalathas, 06/29/2016 12:09 am


#1 Updated by Paris Kalathas almost 2 years ago

In case anyone has the same errors, the one which prints "caught exception: vector<T> too long" is solved by scaling my model down.
It seems that Mitsuba has a limit in the dimensions of the models.

About the error regarding the <float name="maxSmoothAngle" value="0.3"/> plug-in, i am still trying to find the solution. I downloaded the
source code but i wasn't able to locate where the "m_vertexCtr" variable changes. I found that is declared and initialized in the ply.cpp file and the
assertion which gives the error, is few lines after but i don't see where that variable changes in order for the assertion to be valid.

Thank you,
Paris Kalathas

Also available in: Atom PDF