Shader判斷點是否在矩形中

2021-10-09 14:26:32 字數 550 閱讀 8544

弄物體的outline時需要去掉內部某些有邊緣區域的outline,這可以根據uv來做,用if影響效能所以用step函式

glsl-point-inside-box-test

// return 1 if v inside the box, return 0 otherwise

float insidebox(vec2 v, vec2 bottomleft, vec2 topright)

float insidebox3d(vec3 v, vec3 bottomleft, vec3 topright)

//這個片元著色器clip掉矩形內部的outline顯示

fixed4 frag (v2f i) : sv_target

*/ float2 s = step(float2(0.2f,0.3f),i.uv) - step(float2(0.8f,0.6f),i.uv);

clip(-s.x*s.y);

return _outlinecolor;

}

判斷點是否在矩形的裡面

要判斷點 是否在矩形abcd的裡面,有 如果 在ab的左邊,也在bc左邊,也在cd左邊,也在da左邊,則p在abcd的裡面 如果 在ab的右邊,也在bc右邊,也在cd右邊,也在da右邊,則p也在abcd的裡面 否則p不在abcd的裡面 簡單說,在矩形abcd四個邊的同一側,在矩形abcd的裡面,否則...

判斷點是否在多邊形中

一 基本知識 以該點為起點,做平行於x軸的,向x軸的正方向的射線,計算該射線與多邊形的邊相交的次數,如果是奇數則在多邊形的裡面,否則反之。然後需要考慮邊界問題 1 如果點在多邊形的邊上則認為是多邊形裡面,這條在實際應用中可忽略,因為在圖形上多邊形的邊是乙個畫素寬度的,很難點到那裡,2 射線和多邊形的...

判斷點是否在麵內

public class point return flag 目標點是否在目標邊上邊上 param px0 目標點的經度座標 param py0 目標點的緯度座標 param px1 目標線的起點 終點 經度座標 param py1 目標線的起點 終點 緯度座標 param px2 目標線的終點 起...