Computergrafik
Programmable Pipeline #1
← Fixed Function Pipeline | ● | Programmable Pipeline 2 →
- Evolutionsstufe #1: Vertex und Fragment Programme
- Ersetzen die Per-Vertex und Per-Fragment Operationen der Pipeline
- Abstrakte Assemblersprache, muss für jeweilige Hardware umgesetzt werden
- Grunddatenelement sind nicht Variablen (Skalare) sondern Vektor-Register
Perspektivische Projektion als Vertex Program:
PARAM mat[4]={state.matrix.mvp}; TEMP vtx,col,pos; ### fetch actual vertex MOV vtx,vertex.position; MOV col,vertex.color; ### transform vertex with combined modelview DP4 pos.x,mat[0],vtx; DP4 pos.y,mat[1],vtx; DP4 pos.z,mat[2],vtx; DP4 pos.w,mat[3],vtx; ### write resulting vertex MOV result.position,pos; MOV result.color,col;