- 18
- 0
- 约2.9万字
- 约 28页
- 2018-04-23 发布于河南
- 举报
第五章_OpenGL光照与材质(二)
第章
5.8 全局环境光
每个光源可以有自己的环境光,但也可以有不来自于任何光源的环境光,指定环境光的方法是:
利用参数GL_LIGHT_MODEL_AMBIENT来调用函数glLightModel*()。
如:
float model_ambient[] = { 0.2 , 0.2 , 0.2 , 1.0 };
glLightModelfv(GL_LIGHT_MODEL_AMBIENT , model_ambient ) ;
上述代码为场景中的物体提供了软弱的白色环境光,所以即使场景中没有任何光源,也可以看到场景中的物体。
【综合示例EP5-5】场景中绘制,然后加入一个简单的光照#include stdafx.h
int nAngleY=0; // 沿Y轴旋转的角度
int nAngleX=0; // 沿X轴旋转的角度
int nAngleZ=0; // 沿Z轴旋转的角度
void CALLBACK ClockwiseRotateByX()
{
nAngleX--;
}
void CALLBACK CounterClockwiseRotateByX()
{
nAngleX++;
}
void CALLBACK ClockwiseRotateByZ()
{
nAngleZ--;
}
void CALLBACK CounterClockwiseRotateByZ()
{
nAngleZ++;
}
void CALLBACK ClockwiseRotateByY()
{
nAngleY--;
}
void CALLBACK CounterClockwiseRotateByY()
{
nAngleY++;
}
void myinit (void)
{
/* 将背景清为白色 */
glClearColor (0.0, 0.0,0.0, 1.0);
glShadeModel (GL_SMOOTH);
GLfloat ambient[] = { 0.5, 0.0, 0.0, 1.0 };
GLfloat specular[] = { 1.0, 1.0, 0.0, 1.0 };
GLfloat diffuse[] = { 0.5, 0.5, 0.5, 1.0 };
GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 };
GLfloat model_ambient[] = { 0.3, 0.0, 0.3, 1.0 };
GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 };
GLfloat mat_shininess[] = { 128.0 };
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
glLightfv(GL_LIGHT1, GL_POSITION, light_position);
//glLightfv (GL_LIGHT1, GL_AMBIENT, ambient);
glLightfv (GL_LIGHT1, GL_SPECULAR, specular);
glLightfv (GL_LIGHT1, GL_DIFFUSE, diffuse);
// 指定全局环境光
glLightModelfv(GL_LIGHT_MODEL_AMBIENT,model_ambient);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT1);
glDepthFunc(GL_LEQUAL);
glEnable(GL_DEPTH_TEST);
glEnable(GL_AUTO_NORMAL);
glEnable(GL_NORMALIZE);
}
void CALLBACK reshape(GLsizei w, GLsizei h)
{
if (!h) return;
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if (w = h)
glOrtho (-500.0, 500.0, -500.0*(GLfloat)h/(GLflo
您可能关注的文档
- 2011杭州中考英语试题卷资源:考试吧.doc.doc
- 建筑装饰预算课程设计.doc
- 铁基复合材料演讲稿.doc
- 火力发电厂工程竣工图文件编制规定.doc.doc
- EDI业务程序书1.doc
- 高三英语单项选择精练.doc
- 初三电阻专题练习(精心整理适合苏科).doc
- 最新八上长度运动第一、二章复习.ppt
- Delphi的数据格式化.doc
- 数棋学习方法及步骤.doc
- (2026春新版)部编版八年级语文下册《第一单元》PPT课件.pptx
- 2018电力监控系统网络安全监测装置技术规范.docx
- 2022电力监控系统安全防护方案审核要点.docx
- 2014电力电缆光伏系统EN 50618欧标.docx
- (2026春新版)人教版二年级数学下册《第三单元 万以内数的认识》教案.docx
- (2026春新版)人教版二年级数学下册《第四单元 万以内的加法和减法》教案.docx
- (2026春新版)人教版二年级数学下册《综合与实践 时间在哪里》教案.docx
- (2026春新版)苏教版二年级数学下册《综合与实践 时间有多长》教案 .pdf
- (2026春新版)部编版三年级语文下册第3单元(教案).docx
- (2026春新版)部编版三年级语文下册第8单元(教案).docx
最近下载
- 医院体检报告改用简单.pdf VIP
- 人工气道气囊的管理专家共识(2024完整版).pptx VIP
- 2026年部编版新教材道德与法治小学三年级下册全册教案(含教学计划).docx
- 外研版(2025)高中英语必修选择性第一册单词表(全) .pdf VIP
- 上海新国际博览中心有限公司.PDF VIP
- 2026元旦主题班会:马年猜猜乐,猜成语 (共130题) 课件(共134张PPT).pptx VIP
- 锚定新坐标,聚力新征程——学校2026年工作思路(6大板块+28项核心举措).doc VIP
- 《爷爷的爷爷从哪里来》整本书阅读课件四年级下册语文(统编版).pptx VIP
- 山东省东营市广饶县2024-2025学年八年级(五四学制)下学期期末考试化学试卷(含答案).docx VIP
- 2025年事业单位招聘考试财会类综合知识试卷.docx VIP
原创力文档

文档评论(0)