Chapter 3: Following the Pipeline

sb03a sb03b sb03c
sb03a sb03b sb03c
sb03d sb03e sb03f
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から与えているつもりの色情報が正しく届いていないようです.でも,原因は不明.