无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
临清市| 无极县| 江达县| 安仁县| 土默特右旗| 凤庆县| 弥渡县| 望谟县| 德昌县| 揭东县| 资兴市| 定兴县| 江城| 施甸县| 弥勒县| 天峨县| 孝昌县| 云和县| 金坛市| 江都市| 敖汉旗| 改则县| 无棣县| 晋宁县| 镇平县| 繁峙县| 淳化县| 黎川县| 沽源县| 若尔盖县| 潜山县| 哈巴河县| 京山县| 天祝| 应城市| 雅安市| 寿阳县| 龙山县| 新营市| 金山区| 贵港市|