广告牌与数学

时间:2014-09-18 13:04:09

标签: opengl math sprite glm-math

我试图画一个总是面向相机的元素。我已经在着色器中阅读了一些关于广告牌的文章,问题是我需要计算着色器和不同对象(圆形,方形,网格......)的旋转。

所以,我试图仅计算模型的旋转(不是矩阵,类似于Unity引擎中的Transform.LookAt),但我不知道怎么做,这就是我和#39;有:

// Camera data
mat4 viewMatrix     = camera->getMatrix();
vec3 up             = {viewMatrix[0][1], viewMatrix[1][1], viewMatrix[2][1]};

// Compute useful data.
vec3 look           = normalize(camera->getPosition() - model->getPosition());
vec3 right          = cross(up, look);
vec3 up2            = cross(look, right);

// Default: Compute matrix.
mat4 transform;
transform[0] = vec4(right, 0);
transform[1] = vec4(up2, 0);
transform[2] = vec4(look, 0);
transform[3] = vec4(position, 1);

// What I want : Compute rotation from look, right, up data and remove "Default: Compute matrix" part.
// ???

我的框架根据他的属性(位置,比例,旋转)计算模型矩阵,所以我无法覆盖它,我只想计算旋转。

0 个答案:

没有答案