4 Star 0 Fork 0

cyb/Computer Graphics Second Experiment

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
followCamera.h 886 Bytes
一键复制 编辑 原始数据 按行查看 历史
cyb 提交于 2024-05-17 15:37 . 切换背景风格
#ifndef FOLLOWCAMERA_H
#define FOLLOWCAMERA_H
#include "planarCamera.h"
class FollowCamera : public PlanarCamera {
public:
FollowCamera(glm::vec3 position = glm::vec3(0.0f, 0.0f, 3.0f))
: PlanarCamera(position) {}
void Follow(glm::vec3 targetPosition, glm::vec3 frontProjection, glm::vec3 targetUp) {
float followDistance = 4.0f; // 跟随距离
float followHeight = 2.0f; // 跟随高度
// 计算新的位置
glm::vec3 backOffset = -frontProjection * followDistance;
glm::vec3 upOffset = glm::vec3(0.0f, followHeight, 0.0f);
Position = targetPosition + backOffset + upOffset;
// 计算新的方向
glm::vec3 direction = glm::normalize(frontProjection);
Front = direction;
// 保持摄像机的上方向与目标摄像机一致
Up = targetUp;
updateCameraVectors();
}
};
#endif // FOLLOWCAMERA_H
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/cyb_c/computer-graphics-second-experiment.git
git@gitee.com:cyb_c/computer-graphics-second-experiment.git
cyb_c
computer-graphics-second-experiment
Computer Graphics Second Experiment
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385