OPENGL学习视频(十)
2016-11-06 18:52
204 查看
添加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()
}
完成照相机坐标系的转换
#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()
}
完成照相机坐标系的转换
相关文章推荐
- OPENGL视频学习(七)
- OPENGL学习视频(九)
- 黄聪:OpenGl 初级入门学习视频教程, 绘制一个立方体
- 视频学习笔记:Android OpenGL渲染YUV420P图像
- OPENGL视频学习(八)
- Android OpenGL 播放视频学习
- 学习”OpenGL视频教程“小结
- VS2005.NET2.0学习视频_4_新功能综合应用
- VS2005.NET2.0学习视频_5_Wizard控件一步步提交表单
- FlashCom学习资料: 视频绣网程序—录制程序
- 哇,突然觉得OpenGL很强悍,开始学习
- Directshow(SDK)学习笔记九_视频捕捉
- FlashCom学习例子: 视频录制(项目使用Flash8+Flash Media Server技术)
- VS2005.NET2.0学习视频_6_Cache技术在SQLServer中的应用
- FlashCom学习第三课:捕获视频,实现在线拍照的效果。
- MPEG4 & H.264学习笔记之一 ------ 视频格式与质量
- 这两星期附加任务是学习《Computer Graphics whith OpenGL,Third Edition》以及参考两本web方面的电子书
- VS2005.NET2.0学习视频_2_快速创建数据库表读写删