地形开挖+arcgis

地形开挖效果

扩展slice的glsl代码,实现开挖效果
在这里插入图片描述
核心代码:

bool caculateSide(vec3 VecPoint1, vec3 VecPoint2, vec3 Rel){
    float L1=length(VecPoint1);
    float L2= length(VecPoint2);
    float LR= length(Rel);
    float m1=L1/LR;
    float m2=L2/LR;
   
    vec3 v1 = cross(VecPoint1,VecPoint2);
    vec3 v2 = cross(VecPoint1,Rel);
    float dot_1=dot(v1,v2);
  
    vec3 v3 = cross(VecPoint2,VecPoint1);
    vec3 v4 = cross(VecPoint2,Rel);
    float dot_2=dot(v3,v4);
  
    vec3 v5 = cross(VecPoint1-VecPoint2,-VecPoint2);
    vec3 v6 = cross(VecPoint1-VecPoint2,Rel-VecPoint2);
    float dot_3=dot(v5,v6);
  
    bool line1=(m1*Rel.x==VecPoint1.x)&&dot(VecPoint1,Rel)>0.0;
    bool line2=(m2*Rel.x==VecPoint2.x)&&dot(VecPoint2,Rel)>0.0;
  
    return (dot_1>0.0&&dot_2>0.0&&dot_3>0.0)||line1||line2;
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值