Domanda

Sto cercando di capire la molehill e vorrei più un vertice di due matrici, per esempio:

output = theVertex * scaleMatrix * rotationMatrix
.

Im indovinare il mio shader Vertex sembrerebbe come:

"m44 vt0, va0, vc0\n" +
"mul op, vt0, vc1\n";
.

e vorrei impostare le matrici con

context3d.setProgramConstantsFromMatrix(Context3DProgramType.VERTEX, 0, scaleMatrix);
context3d.setProgramConstantsFromMatrix(Context3DProgramType.VERTEX, 1, rotationMatrix);
.

Ma non funziona.Cosa sto facendo male?

Im consapevole di potermi più la matrice prima di indossare shader, ma sto cercando di capire Agal.

Cheers

È stato utile?

Soluzione

A m44 Matrix è 4x4 galleggianti, IT accetta 4 registri poiché ogni registro è 128 bit (4 galleggianti) in modo da poter caricare la matrice di rotazione nel registro VC4:

"m44 vt0, va0, vc0\n" +
"mul op, vt0, vc4\n";
.


.
context3d.setProgramConstantsFromMatrix(Context3DProgramType.VERTEX, 0, scaleMatrix);
context3d.setProgramConstantsFromMatrix(Context3DProgramType.VERTEX, 4, rotationMatrix);
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top