|
 |
On 12/7/2016 8:41 PM, Mike Horvath wrote:
> On 12/6/2016 11:55 PM, clipka wrote:
>> Am 06.12.2016 um 08:05 schrieb Mike Horvath:
>>> I am having trouble rendering the attached scene without artifacts and
>>> gaps in the isosurface. I already increased the scale of the scene by
>>> 200 and the max_gradient of the isosurface to 100. Anyone have any tips?
>>
>> You seem to be running into /some/ kind of problem when the RGB values
>> get excessively low.
>>
>> Clipping the C parameter of the fD function to some near-zero negative
>> value seems to do the trick:
>>
>> #declare fClip = function(X,A) {select(X-A,A,X)}
>> #declare fD = function(C) {abs(fClip(C,-0.1)-0.5)-0.5}
>>
>> This lets you get away with a max_gradient of 20.
>>
>> (You still have a coincident surfaces problem between the isosurface and
>> the box, but I guess you can figure that one out yourself.)
>>
>
> I changed the camera angle and the problem reappeared.
>
> camera
> {
> // #local cam_distance = 40; // render at 8192x8192
> // #local cam_planesize = 4; // render at 8192x8192
> #local cam_distance = 17;
> #local cam_planesize = 1.7;
> // #local cam_distance = 20; // render at 4096x4096
> // #local cam_planesize = 2; // render at 4096x4096
> #local cam_aspectratio = image_width/image_height;
> // orthographic
> location -z * cam_distance
> direction +z * cam_distance
> right +x * cam_planesize*cam_aspectratio
> up +y * cam_planesize
> rotate +x * asind(tand(30))
> // rotate +x * 90
> rotate -y * 045
> // rotate +y * 180
> rotate +y * RotateAmount
> translate 1/2
> scale ScaleAmount
> }
>
> max_gradient is set to 200, and I am using your revised fD function.
>
> Mike
>
And seen from directly above the isosurface disappears completely.
Mike
Post a reply to this message
|
 |