国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Styled SDF for Bezier curve 1

2022-04-12 15:51 作者:DeadCyber  | 我要投稿


Final result
The quadratic Bezier spline

Origin:

In SDF?render scene, I want to render a Bezier curve, but what i found from?shadertoy, is just a simple Bezier segement SDF:


PS:??By segement I mean it?only got 3 points, not the entire multi-points?smooth bezier spline?.

Which means doesn't support the entire spline, and it's not 3D, what's more its caps and body are?rounded shaped,different from what I need ---?box shaped lines:

So I need to find a way to render Bezier curve SDF in box style.

Continue:

For the body SDF

? From the shadertoy code, we can get the 2D distance to the body. It's done by calculating?our point P's project point T on the Bezier segment, using the relationship that:

dot(TP%2CT')%3D0

which means TP is the normal direction of T in the segment.

Combine the height difference,we can get the diffenrence float2 TP in the normal plane.

Since we want a box style, the SDF shall be calculated as a rectangle SDF:


????We loop the same logic over all segements of the spline,and find the min as SDF for the body.Note for a valid body SDF of a segement ,?T must in the segement(as 0<t<1).

For the cap SDF

? ? Body SDF doesn't apply for the 2 end caps.Once we find T of P not [0,1] for all segements, we shound calculate P's SDF for cap. When we find out whether it's start? or end pnt of the spline that's near P,we call that cap point as T too.

? ? For the exact result,one should calculate P's SDF to the one face quad of T. The quad's normal direction U is (p0-p1) or (p[n]-p[n-1]).


????


????However, for convenience, I use a thin box instead.The box {u,v,w} direction is {U,(0,1,0),cross(u,v)}

Combine

????Here's a box style spline only has two segements.The code is very raw, lack of abstraction.


????We can see from above process, that our approach is not only restricted to box style or quadratic Bezier Spline.The similar method can be used for arbitrary style and spline type.I will try tidy it up for next article.





Styled SDF for Bezier curve 1的評論 (共 條)

分享到微博請遵守國家法律
灵台县| 克拉玛依市| 英吉沙县| 金堂县| 罗城| 太保市| 秦皇岛市| 固阳县| 长汀县| 波密县| 秭归县| 慈溪市| 外汇| 金川县| 枣庄市| 高青县| 临湘市| 甘谷县| 翁源县| 贵南县| 淳安县| 中山市| 富阳市| 桐城市| 赣州市| 牙克石市| 灵宝市| 左云县| 杨浦区| 仁怀市| 宁国市| 峨眉山市| 沧源| 滨海县| 政和县| 犍为县| 安塞县| 宾阳县| 临泉县| 新干县| 新密市|