gluLookAt矩阵、矩阵的转置与求逆矩阵方法

本文介绍了在OpenGL ES 2.0中如何实现gluLookAt函数,以及讲解了矩阵转置和求逆矩阵的方法。通过自定义代码,成功地在没有gluLookAt的情况下实现了类似功能。
摘要由CSDN通过智能技术生成

1. gluLookAt矩阵

这次使用opengl es 2.0中,由于里面没有gluLookAt这个函数,参考了网上的一些代码自己封装了一个,经过使用,没发现问题,具体代码如下:

void ESUTIL_API 
esGluLookAt(ESMatrix *result, float eyeX, float eyeY, float eyeZ, float centerX, float centerY, float centerZ, float upX, float upY, float upZ)
{
	float fx, fy, fz;
	float rlf, rls;
	float sx, sy, sz;
	float ux, uy, uz;
	fx = centerX - eyeX;
	fy = centerY - eyeY;
	fz = centerZ - eyeZ;

	// Normalize f
	rlf = 1.0f / sqrt(fx * fx + fy * fy + fz * fz);
	fx *= rlf;
	fy *= rlf;
	fz *= rlf;

	// compute s = f x up (x means "cross product")
	sx = fy * upZ - fz * upY;
	sy = fz * upX - fx * upZ;
	sz = fx * upY - fy * upX;

	// and normalize s
	rls = 1.0f / sqrt(sx * sx + sy * sy + sz * sz);
	sx *= rls;
	sy *= rls;
	sz *= rls;

	// compute u = s x f
	ux = sy * fz - sz * fy;
	uy &
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值