How can I transform a glm::vec3 by a glm::mat4
glm-math, opengl, transform
Solution
You want to first convert your `glm::vec3` into a `glm::vec4` with the 4th element a `0`, and then multiply them together.
glm::vec4 v(originalUp, 0);
Problem
I want to transform a `glm::vec3` (camera.target) by a `glm::mat4` (camera.rotationMatrix). I try multiply this give me an error:error: no match for 'operator*' in 'originalTarget * `((Camera*)this)->Camera::rotationMatrix`. I suppose that I can't multiply a vec3 * mat4. Does GLM some function to transform this? Other way to do the transform? The code: ``` void Camera::Update(void) { // Aplicamos la rotacion sobre el target glm::vec3 originalTarget = target; glm::vec3 rotatedTarget = originalTarget * rotationMatrix; // Aplicamos la rotacion sobre el Up glm::vec3 originalUp = up; glm::vec3 rotatedUp = originalUp * rotationMatrix; // Establecemos las matrices de vista y proyeccion view = lookAt( position, //eye rotatedTarget, //direction rotatedUp //up ); projection = perspective( FOV, (float) getParent()->getEngine()->GetCurrentWidth() / getParent()->getEngine()->GetCurrentWidth() , near_plane, far_plane); } ```