OPENGL学习视频(十)

添加Camera.h
#pragma once
class Camera
{
  public:
      Camera(const glm::vec3& pos,float fov,float  aspect,float zNear,float zFar)
      {
              this->pos=pos;
              this->forword=glm::vec3(0.0f,0.0f,1.0f);
              this->up=glm::vec3(0.0f,1.0f,1.0f);
              this->projection=glm::perspective(fov,aspect,zNear,zFar);
      }
     ~Camera();
  private:
      glm::mat4  projection;
      gm::vec3   pos;
      glm::vec3  forword;
      glm::vec3  up;
}
世界坐标系到照相机坐标系的转换
inline glm::mat4 GetViewProjection()  const
{
     glm::lookAt(pos,pos+forward,up);//第一个参数是脑袋的位置,第二个参数是看物体的方向,第三个参数是头顶的方向  

}

在main.cpp中
#define WIDTH 800
#define HEIGHT 600
Camera  camera(glm::vec3(0,0,-3),70.0f,(float)WIDTH/(float)HEIGHT,0.01F,1000.0f);
在shader中
void Update(const Transform& transform,const Camera& camera)
{
      glm::mat4  model=camera.GetViewProjection()

}
完成照相机坐标系的转换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值