031 繪製虛線 自定義shader實現

2021-10-02 17:20:24 字數 1476 閱讀 6534

**出處:

參考文章:

最後效果:

1、使用three.js 內建方法

addline()

)var line =

newthree.line

(linegeometry, material)

;// 不可或缺的,若無,則線段不能顯示為虛線

line.

computelinedistances()

;this

.stage.scene.

add(line)

;}

2、自定義shader實現

shader-dash.js

export

default

class

shaderdash

;var ret=object.

assign(,

dashdistance:,}

, vertexshader:

` attribute float linedistance;

varying float lineu;

void main()`

, fragmentshader:

` // 當前點距離起點的距離

varying float lineu;

uniform float dashsteps;

uniform float dashdistance;

void main()`

},opt)

;return ret;

}}

class))

var line =

newthree.line

(linegeometry, material)

;// 不可或缺的,若無,則線段不能顯示為虛線

line.

computelinedistances()

;this

.stage.scene.

add(line);}

...}

3、**原理

對於片元著色器:

// lineu 當前畫素點距離起點的距離

varying float lineu;

// 單位直線虛線的段數 10

uniform float dashsteps;

// 虛線的間距 0.5

《全文結束》

Android自定義虛線繪製

兩種方式 1 drawable資料夾下通過shape繪製 2 自定義控制項canvas繪製 一 width 線段的高度 color 線段的顏色 dashwidth 線段寬度 dashgap 線段之間間隔寬度 布局檔案中使用 在4.0的裝置上,虛線會變成實線,我們需要加入 android layert...

android中自定義虛線

1 在drawble下面自定義資源檔案 dashline xml version 1.0 encoding utf 8 xmlns android android shape line android dashgap 3px android dashwidth 2px android width 1...

自學自定義view 畫虛線

之前專案中需要虛線,直接在drawable裡寫了xml形式的效果,後來發現在5.0以後的手機上顯示有問題,不知道是偶然還是什麼,就決定自己畫個。效果實在簡單,因為我從來沒有自己畫過自定義view!好了,決定下來就開始畫,買的書上大概看了下有流程,其實還是要熟悉view的繪製過程。1,在values資...