引子: 這是曾經的一道webgl面試題。出處
最終效果:
1、建立幾何球體
class);
// 網格
var mesh =
newthree.mesh
(geometry, material)
; mesh.name =
"spare"
this
.scene.
add(mesh);}
}
建立乙個球體:
2、使用著色器材質
import
from
'./glsl.fragmentshader.js'
import
from
'./glsl.vertexshader.js'
class);
...}
}
glsl.vertexshader.js
export
let vertexshader =
`// 這裡使用 uv,將傳給片元著色器使用。
varying vec2 vuv;
void main()
`
glsl.fragmentshader.js, 這裡先設定為白色。
3、繪製網格
重點終於來了!
1)感受一下uv
export
let fragmentshader =
`varying vec2 vuv;
void main()
`
uv.x 範圍是從0~1,那麼體現在球體的x方向,顏色就是從黑色到白色。uv.y同理。
2)繪製一條線
根據uv座標的特性,對uv座標進行不同處理,那麼就可以繪製線了。
export
let fragmentshader =
`varying vec2 vuv;
void main()
else
}`
這樣就會出現多條線:
4、繪製經緯線
有了前面的基礎,那麼經緯線就很好繪製了。
varying vec2 vuv;
void
main()
else
}`
最終效果:
如何利用Python繪製乙個愛心
剛學習python幾周,閒來無事,突然想嘗試畫乙個愛心,步驟如下 開啟介面 開啟python shell介面,具體是python語言的idle軟體指令碼。2.建立指令碼 單擊左上角 file 再單擊 new file 建立乙個新的指令碼檔案。3.如下 1 from turtle import 2de...
第乙個Shader程式
fx檔案 1 float4x4 matworld 2float time 1.0f 3 4struct vs output5 910vs output vs float4 pos position,float4 color color 1119 20float4 ps vs output vsout...
3乙個簡單的Shader
乙個簡單的unityshader看起來是這樣 cg 段 由cgprogram與endcg包圍起來 編譯指令這裡的用來告訴unity,什麼是頂點著色器,什麼是片元著色器 pragma vertex 頂點著色器函式名 pragma fragment 片元著色器的函式名 在呼叫drawcall的時候,me...