2017-06-08 3 views
0

J'essaye d'écrire un shader pour faire l'effet motionBlur dans WebGL en utilisant les frameworks three.js. J'essaie d'adapter ce tutoriel pour WebGL: http://john-chapman-graphics.blogspot.fr/2013/01/per-object-motion-blur.html et d'obtenir la valeur de la vitesse avec GPUComputeRenderer.Comment obtenir la position précédente d'un maillage

Mais j'ai un problème pour cette ligne:

Position = uModelViewProjectionMat * gl_Vertex; 
vPrevPosition = uPrevModelViewProjectionMat * gl_Vertex; 

Comment puis-je obtenir ou calculer le PrevModelViewProjectionMat? Je sais que c'est projectionMatrice * modelViewMatrix * vec4 (position, 1.0) mais je ne sais pas comment obtenir la projMatrice précédente ou modelViewMatrix précédente. Quelqu'un peut-il aider?

Répondre

-1

La matrice de projection précédente sera probablement la même sauf si vous avez modifié la caméra (near, far, fov).

La matrice modelView précédente que vous devez calculer ou enregistrer à partir de la trame précédente. Puis fournissez-le au shader comme un uniforme, et faites la transformation.