OpenGL中光照的设置
1.创建、定位和启用光源
(1)定义光源的颜色和位置
GLfloat ambient[] = { 0.0, 0.0, 0.0, 1.0 };
GLfloat diffuse[] = { 1.0, 1.0, 1.0, 1.0 };
GLfloat position[] = { 0.0, 3.0, 2.0, 0.0 };
(2)创建光源
glLightfv(GL_LIGHT1, GL_AMBIENT, ambient); // Setup The Ambient Light设置环境光
glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse); // Setup The Diffuse Light设置漫射光
glLightfv(GL_LIGHT1, GL_POSITION,position); // Position The Light设置光源位置
(3)启动光照和光源
glEnable(GL_LIGHTING); // 启动光照
glEnable(GL_LIGHT1); // Enable Light One启用一号光源
2.选择光照模型
GLfloat lmodel_ambient[] = { 0.4, 0.4, 0.4, 1.0 };
GLfloat local_view[] = { 0.0 };
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, local_view);
3.定义材质
(1)材料属性
GLfloat no_mat[] = { 0.0, 0.0, 0.0, 1.0 };
GLfloat mat_ambient[] = { 0.7, 0.7, 0.7, 1.0 };
GLfloat mat_ambient_color[] = { 0.8, 0.8, 0.2, 1.0 };
GLfloat mat_diffuse[] = { 0.1, 0.5, 0.8, 1.0 };
GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 };
GLfloat no_shininess[] = { 0.0 };
GLfloat low_shininess[] = { 5.0 };
GLfloat high_shininess[] = { 100.0 };
GLfloat mat_emission[] = {0.3, 0.2, 0.2, 0.0};
(2)指定材料属性
glMaterialfv(GL_FRONT, GL_AMBIENT, no_mat);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, no_mat);
glMaterialfv(GL_FRONT, GL_SHININESS, no_shininess);
glMaterialfv(GL_FRONT, GL_EMISSION, no_mat);
4.绘制物体
glutSolidSphere(1.0, 16, 16);
引用OpenGL编程指南中的例子:
相关知识
OpenGL 画荷花
花钟安卓版官方下载
光照调控在景观中的应用.docx
【UE4】控制台文档—中
光照策略
室内绿化设置
光照调节的温室大棚.pdf
花儿需要适量的光照,就像人要吃个七分饱
一切始于光照,《高清渲染管线光照指南
阳台种植花怎么设置
原文链接: OpenGL中光照的设置 https://www.huajiangbk.com/newsview587219.html
| 上一篇: 绣球花对环境的要求 | 下一篇: 设施光照环境及其调控 |
推荐分享

- 1明日花キララ:明日花绮罗年度... 41090
- 2明日花キララ(明日花绮罗)经... 23705
- 3胡椒木盆景从上盆制作到养护,... 22874
- 4五月天婷婷开心六月丁香:音乐... 15993
- 5仙人球“水蜜桃”—又美又仙,... 13024
- 6十大致癌花卉排行榜,哪些花卉... 12246
- 7老师精选05—河北彩花(出道... 11713
- 8超简单,3个步骤带你学会毛线... 11547
- 9家庭养花知识大全 家庭养花有... 11325
- 10家庭养花风水知识 家庭养花“... 10805




