OpenGL中光源的三种移动区别
来源:互联网 发布:smb协议如何传输数据 编辑:程序博客网 时间:2024/06/05 19:21
1.光源不动:需要在设置完视图模型变换之后。然后再设置光源的位置并且开启。
伪代码如下:
glmatrixmode(gl_projection);
glloadidentity();
xxxxxxxxxx;
glmatrixmode(gl_modelview);
glloadidentity();
glfloat light_position []={1.0,1.0,1.0,1.0};//
glightfv(gl_light0,gl_position,light_position);//这两句代码在最i后才出现
2.独立移动光源:
(1),在如方法1中最后再设置光源的移动。(2)在模型矩阵变化过程中,同时来考虑光源的移动。技巧就是巧妙运用glpushmatrix()和glpopmatrix();
伪代码如下:
glfloat light_position []={1.0,1.0,1.0,1.0};
glupushmatrix();
glulookat();
glupshmatrix();
glrotated();
gllightfv(gl_light0,gl_position,light_position);//注意gllightfv ()函数出现得位置
glupopmatrix();
然后在进行其他模型的操作。
glflush();
3.光源和观察点一起移动:
方法就是在进行视图变换之前设置光源位置
,接着进行视图变换,就会以相同的方式同时影响光源和观察点。记住光源是以视觉坐标的形式存储的。
伪代码:
glfloat light_position []={1.0,1.0,1.0,1.0};
glightfv(gl_light0,gl_position,light_position);//注意这两行代码出现在视图设置之前。此时摄像机和视点的相对位置就固定了!
glviewport();
glmatrixmode(gl_projection);
glloadidenty();
- OpenGL中光源的三种移动区别
- OpenGL光源的移动解释
- opengl 移动光源
- OpenGL ES中光源颜色的参数
- opengl对三种光源(方向光,点光源,聚光灯)进行特写并分屏渲染
- openGL 在光源处画一个球,移动光源
- OpenGL-光源位置的控制
- OpenGL: 光源
- jogl(三)OpenGL中gl,glu,glut的区别
- Win32+OpenGL计算机图形学光照阴影算法 可控制光源、光照物等位置的移动以及漫游等
- THREE.JS中常用的4种光源
- OpenGL光源位置
- OpenGL光源光照基础
- OpenCV,OpenGL,DirectX三者的区别
- OpenGL(十二) 光源类型 平行光 、 点光源 、 聚光灯 的实现
- OpenGL glLightfv 函数的应用以及光源的相关知识
- 《高效学习OpenGL》 之 控制光源的位置和方向
- 《OpenGL编程指南》示例笔记(2)--独立地移动光源
- C++ std::string --- 你可能不知道的一些用法
- 晶振知识总结
- CFileDialog的使用
- QListWidget用法
- 交换排序之----冒泡排序法
- OpenGL中光源的三种移动区别
- C语言sprintf函数详解
- u-boot-2009.08在mini2440上的移植 增加DM9000网卡驱动
- 问题啊问题
- 大话PHP之性能
- 一个Qt 网址
- 物联网落地了吗?
- Android简单的利用MediaRecorder进行录音
- 自定义web控件