Chapter 3: Following the Pipeline
sb03a | sb03b | sb03c |
---|---|---|
sb03d | sb03e | sb03f |
sb03ax.cpp (sb03a.vs,fs)
Vertex shaderとFragment shaderを利用した例.背景色が変化するなか,白い三角形が弧を描きます.
sb03bx.cpp (sb03b.vs,fs)
Vertex shaderを介してFragment shaderに三角形の色を与えることで色を変化させます.
sb03cx.cpp (sb03c.vs,fs)
Vertex shaderからFragment shaderへの値の伝達においてInterface Blockを利用しました.
sb03dx.cpp (sb03d.vs,tcs,tes,fs)
Tessallation control shaderとTessallation evaluation shaderを追加し,三角形をワイヤーフレームで描画しています.
sb03ex.cpp (sb03e.vs,tcs,tes,fs)
Geometry shaderを追加し,Tessell化した三角形の頂点を点描しています.
sb03fx.cpp (sb03f.vs,tcs,tes,gs,fs)
Fragment shaderでピクセルの位置に応じて色を決定することで三角形にグラデーションを与えます.
sb03gx.cpp (sb03g.vs,tcs,tes,fs)
Fragment shaderへ与える色情報をVertex shaderを介してCPU側から与えようとした例だが,うまく動作しません.どうやらFragment ShaderにVertex shaderから与えているつもりの色情報が正しく届いていないようです.でも,原因は不明.