《OpenGL编程指南》示例笔记(2)--独立地移动光源
来源:互联网 发布:linux 安装yum 编辑:程序博客网 时间:2024/05/21 20:29
//=====================================================================
//TITLE:
// 《OpenGL编程指南》示例笔记(2)--独立地移动光源
//AUTHOR:
// norains
//DATE:
// Monday 21-June-2010
//Environment:
// Windows XP
//=====================================================================
示例概述
例名:独立地移动光源
序号:5-6
页码:P135
源代码:
程序运行后的图像确实有点丑:
不知道为啥,源代码特别不喜欢很圆的圆,莫非是作者的机器配置不够?在做实验之前,还是老样子,将圆变得圆滑点。我们将glutSolidTorus的最后一个形参的数值更改为60,即:glutSolidTorus(0.275, 0.85, 8, 60);
这时候程序跑起来的圆环就圆滑多了:
点击两下鼠标,移动一下光源,看看效果:
呵呵,有点像手镯。
不过,原程序的渐进梯度太广了,只是点击几次就绕了一圈。其实可以更改代码中的spin = (spin + 30) % 360这句。我们将30改成5,那么渐进的梯度就小了。
如图所示:
光源移动到了之前原代码没有能到达的区域。
不过,用鼠标移动光源实在没啥意思,不如让程序自动来移动光源吧!
我们先定义一个Idle函数:
然后在glutMainLoop之前添加这么一段代码:
那么,我们现在的光源就可以自动移动啦。只不过,我所用的电脑的显卡可能性能不是很好,以代码所执行的速度,有破碎的现象:
其实我们也可以用5.1示例中的圆球,也能测试到不一样的光源效果。我们将代码中的glutSolidTorus(0.275, 0.85, 8, 60)以glutSolidSphere(1.0, 300, 16)替换,则显示效果如下:
- 《OpenGL编程指南》示例笔记(2)--独立地移动光源
- OpenGL(四)使用光源(独立)
- 《OpenGL编程指南》示例笔记(1)--渲染光照球体
- 《OpenGL编程指南》示例笔记--序
- opengl 移动光源
- opengl编程指南笔记
- OpenGL光源的移动解释
- opengl编程指南笔记(一)前言
- OPENGL编程指南(红宝书阅读笔记)
- openGL之光照2(材料、颜色追踪、光源)---openGL学习笔记(十)
- 【笔记】《WebGL编程指南》学习-第8章光照(3-点光源光)
- opengl编程指南示例程序2-15完整代码
- opengl编程指南笔记(二)第一章 opengl简介
- 《OpenGL 编程指南》(OpenGL红皮书) 阅读笔记
- openGL 在光源处画一个球,移动光源
- OpenGL编程指南(第八版)学习笔记(第一章)
- opengl编程指南笔记(四)第三章 视图
- opengl编程指南笔记(五)第四章 颜色
- 将应用程序11M内存占用,降至500K
- Android – Distance between two points on the Earth
- wininet函数使用
- JavaEE程序有一大路径陷阱,那就是ServletContext的 getRealPath方法
- iis 部署网站
- 《OpenGL编程指南》示例笔记(2)--独立地移动光源
- 字节与字符有什么区别
- 世界杯,强队雄起
- LEFT()与RIGHT()函数
- 为什么许多芯片的CS信号(片选信号)经常都是低电平有效?
- 多播委托实例
- 各种字符串分函数 及 实例
- c++ 与 .net类型对照(大杂会)
- Linux内核中的进程组及会话