Skip to content

Wrong distance calculating in MagicBorder.fx? #25

Description

@liuxd17thu
// The closer to the corner, the stronger the depth set for that corner has to be taken into account, so the weight is 1-distance_to_corner
float distanceToCorner = 1-distance(float2(0, 0), coord);
float2 average = float2((LeftTopCornerDepth/1000.0) * distanceToCorner, distanceToCorner);
		
distanceToCorner = 1-distance(float2(1, 0), coord);
average.x += ((RightTopCornerDepth/1000.0) * distanceToCorner);
average.y += distanceToCorner;
		
distanceToCorner = 1-distance(float2(1, 1), coord);
average.x += ((RightBottomCornerDepth/1000.0) * distanceToCorner);
average.y += distanceToCorner;
		
distanceToCorner = 1-distance(float2(0, 1), coord);
average.x += ((LeftBottomCornerDepth/1000.0) * distanceToCorner);
average.y += distanceToCorner;

If I understand correctly, the distance(corner, coord) function will give out a value between 0 and sqrt(2). Then distanceToCorner can be negative sometimes. I'm not sure if it's designed to be this, but I think 1 - distance(corner, coord)/sqrt(2) looks more resonable in the image.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions