J'ai une coordonnée 3D que je veux transformer par la matrice modelVeiw pour entrer dans l'espace de vue dans un shader GLSL. Le point est défini dans le shader et n'est pas affecté par les transformations d'OpenGL. Est-il possible de faire quelque chose comme gl_ModelViewMatrix * (nom vec3)?Multiplier une matrice vec3 par modelview
Répondre
n ° gl_ModelViewMatrix est un mat4. Vous devez le multiplier par un vec4 (avec 1 dans w).
Merci !! Je voterais ceci, mais je suis un tel noob je n'ai pas assez de réputation ... – Abaab
Le contenu de w devrait être déterminé par le but du point - est-ce un vertex normal à transformer ou un normal (auquel cas w = 0 et on pourrait aussi bien multiplier le vec3 par la matrice supérieure 3x3 de MVM.) –
Toutes nos sémantiques ont été sommaires. Je pensais que "coordonner" était synonyme de "point", et ne pouvait pas signifier un vecteur, mais je viens de le chercher et j'avais tort. Vous utilisez "point" pour désigner "point" ou "vecteur/direction", ce qui n'est pas correct non plus. Vous ne devriez pas techniquement faire mat3 (MVM) * normal; vous devriez faire normal * inverseOfMVM. http://en.wikibooks.org/wiki/GLSL_Programming/Applying_Matrix_Transformations#Transforming_Normal_Vectors – Jessy
- 1. OpenGL: vecteur d'utilisateur multiple par matrice modelview?
- 2. Multiplier chaque colonne d'une matrice par une autre matrice
- 3. Comment multiplier une matrice par une valeur scalaire dans Matlab
- 4. Multiplier la matrice par l'entrée de l'utilisateur
- 5. Multiplier chaque rangée d'une matrice par la matrice
- 6. GSL/BLAS: Multiplier une matrice avec une matrice inverse
- 7. OpenCV multiplier scalaire et une matrice
- 8. Multiplier RealMatrix avec matrice complexe
- 9. Comment multiplier chaque ligne dans une matrice par chaque colonne de la deuxième matrice en Python?
- 10. Multiplier par des matrices inverses?
- 11. Multiplier matrice de matrices par un scalaire en sauge
- 12. MODELVIEW à la communication MODELVIEW
- 13. Comment multiplier cette matrice dans Matlab
- 14. Palette matricielle, problème de dessin lors de la matrice ModelView
- 15. multiplier une rangée par rangée
- 16. polynômes de matrice se multiplier dans Matlab
- 17. Numpy: Multiplier une matrice avec un tenseur 3d - Suggestion
- 18. position openGL et de l'orientation de la matrice modelview
- 19. Web Service pour multiplier 2 2D matrice
- 20. Matrice Multiplier la méthode en C#
- 21. Comment puis-je multiplier une matrice par un vecteur en utilisant JAMA?
- 22. Matlab: multiplier une cellule par un vecteur
- 23. Multiplier variable par une autre variable?
- 24. Multiplier par 0 l'optimisation
- 25. multiplier chaque ligne par chaque ligne
- 26. Bloc uniforme GLSL avec un tableau de vec3
- 27. Multiplier chaque point dans une matrice, par l'un d'une autre matrice, et former une nouvelle matrice sur chaque multiplication, dans matlab
- 28. GSL gsl_blas_sgemm matrice multiplier fortement inexact pour n> 140
- 29. Convertir glm :: vec4 en glm :: vec3
- 30. Comment multiplier un nombre par une fonction passée par référence
Code postal s'il vous plaît – GreenGuerilla
Normalement un vertex shader fait 'void main() {gl_position = glMatrix * aVertex; } 'où aVertex est un attribut et glMatrix est un uniforme. Les deux peuvent être générés dans un shader. Fais-le! –
@AkiSuihkonen Lorsque je lance le code vec3 tfLightPos = (gl_ModelViewMatrix * lightPos); J'obtiens l'erreur 0 (8): erreur C1101: référence de fonction surchargée ambiguë "mul (mat4, vec3)" – Abaab