|
 |
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
Post a reply to this message
|
 |