used Vector3f instead of Vector4f at lookat function.
This commit is contained in:
@@ -74,7 +74,7 @@ namespace hgl
|
|||||||
* @param target 目标位置
|
* @param target 目标位置
|
||||||
* @param up 向上向量
|
* @param up 向上向量
|
||||||
*/
|
*/
|
||||||
Matrix4f lookat(const Vector4f &eye,const Vector4f &target,const Vector4f &up);
|
Matrix4f lookat(const Vector3f &eye,const Vector3f &target,const Vector3f &up);
|
||||||
|
|
||||||
inline Matrix4f translate(const Vector3f &v)
|
inline Matrix4f translate(const Vector3f &v)
|
||||||
{
|
{
|
||||||
|
@@ -103,12 +103,12 @@ namespace hgl
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Matrix4f lookat(const Vector4f &eye,const Vector4f &target,const Vector4f &up)
|
Matrix4f lookat(const Vector3f &eye,const Vector3f &target,const Vector3f &up)
|
||||||
{
|
{
|
||||||
Vector4f forward=normalize(target-eye);
|
Vector3f forward=normalize(target-eye);
|
||||||
Vector4f right=normalize(cross(forward,up));
|
Vector3f right=normalize(cross(forward,up));
|
||||||
|
|
||||||
Vector4f nup=cross(right,forward);
|
Vector3f nup=cross(right,forward);
|
||||||
|
|
||||||
return Matrix4f( right.x,
|
return Matrix4f( right.x,
|
||||||
nup.x,
|
nup.x,
|
||||||
|
Reference in New Issue
Block a user