资源简介
关于opengl的光照模型,比较简单的例子
代码片段和文件信息
// DrawCircle.cpp : Defines the entry point for the console application.
//
#include “stdafx.h“
#include
#include “math.h“
GLint winHeight = 400;
GLint winWidth = 400;
void init() {
glClearColor( 0.0 0.0 0.0 0.0); // 背景设置为黑色
// 确定视窗的边界
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-3 3 -3 3); // 定义一个D的正交投影矩阵,参数为: (left right bottom top)
glMatrixMode(GL_MODELVIEW);
}
GLfloat angle;
void idle(){
if(angle < 360)
angle += 0.2;
else
angle -=360;
}
void drawSphere(GLfloat r)
{
glTranslatef(0.200);
glRotatef(-451.01.00.0);
//glutWireSphere(r1616);
//glutSolidSphere(r3232);
glutSolidTeapot(r);
//glutWireTeapot(r);
}
void display() {
glClear( GL_COLOR_BUFFER_BIT); // 清除缓存
glColor3f( 0.0 0.0 1.0); //设置当前颜色为蓝色
glFrustum ( -2.0 2.0-2.02.01.017.0);
gluLookAt (1.01.01.01.0 0 0 0 1 0);
// glFrustum ( -200.0 200.0-200.0200.050.0370.0);
// gluLookAt (100.050.050.050.050.00.00.0 1.00.0);
glMatrixMode ( GL_MODELVIEW );
glLoadIdentity ();
glRotatef(angle0.01.00.0);
glutPostRedisplay();
drawSphere(0.8);
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);//消隐
GLfloat light_pos1[]={7.010.00.01.0};
GLfloat diffuse1[]={1.01.00.01.0};
GLfloat specular1[]={0.01.01.01.0};
GLfloat ambient1[]={1.01.01.01.0};
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glLightfv(GL_LIGHT0GL_POSITIONlight_pos1);
glLightfv(GL_LIGHT0GL_DIFFUSEdiffuse1);
glLightfv(GL_LIGHT0GL_SPECULARspecular1);
glLightfv(GL_LIGHT0GL_AMBIENTambient1);
GLfloat light_pos2[]={-7.010.00.01.0};
GLfloat diffuse2[]={0.00.001.01.0};
GLfloat specular2[]={0.00.01.01.0};
GLfloat ambient2[]={1.01.01.01.0};
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT1);
glLightfv(GL_LIGHT1GL_POSITIONlight_pos2);
glLightfv(GL_LIGHT1GL_DIFFUSEdiffuse2);
glLightfv(GL_LIGHT1GL_SPECULARspecular2);
glLightfv(GL_LIGHT1GL_AMBIENTambient2);
glEnd();
glFlush(); // 强制刷新图片
}
int main(int argc char* argv[])
{
glutInit( &argc argv); // 初始化GLUT函数
//从屏幕的左上角起设置窗口位置
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(100 100);
glutInitWindowSize(winWidthwinHeight);
glutCreateWindow( “Drawing“);
init();
glutIdleFunc(idle);
glutDisplayFunc(display); // is created or re-drew
glutMainLoop(); // 进入事件处理循环
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-10-28 17:20 Lighting\
目录 0 2011-11-05 19:41 Lighting\Debug\
文件 32256 2011-11-05 19:41 Lighting\Debug\Lighting.exe
文件 354604 2011-11-05 19:41 Lighting\Debug\Lighting.ilk
文件 486400 2011-11-05 19:41 Lighting\Debug\Lighting.pdb
目录 0 2011-11-05 19:41 Lighting\Lighting\
文件 1002496 2011-11-11 04:16 Lighting\Lighting.ncb
文件 890 2011-10-28 17:17 Lighting\Lighting.sln
文件 11776 2011-11-11 04:16 Lighting\Lighting.suo
目录 0 2011-11-05 19:41 Lighting\Lighting\Debug\
文件 6572 2011-11-05 19:41 Lighting\Lighting\Debug\BuildLog.htm
文件 663 2011-10-28 17:20 Lighting\Lighting\Debug\Lighting.exe.em
文件 728 2011-10-28 17:20 Lighting\Lighting\Debug\Lighting.exe.em
文件 621 2011-11-05 19:41 Lighting\Lighting\Debug\Lighting.exe.intermediate.manifest
文件 14702 2011-11-05 19:41 Lighting\Lighting\Debug\Lighting.obj
文件 2031616 2011-10-28 17:20 Lighting\Lighting\Debug\Lighting.pch
文件 65 2011-11-05 19:41 Lighting\Lighting\Debug\mt.dep
文件 11173 2011-10-28 17:20 Lighting\Lighting\Debug\stdafx.obj
文件 60416 2011-11-05 19:41 Lighting\Lighting\Debug\vc90.idb
文件 126976 2011-11-05 19:41 Lighting\Lighting\Debug\vc90.pdb
文件 2618 2011-11-05 19:41 Lighting\Lighting\Lighting.cpp
文件 4438 2011-10-28 17:20 Lighting\Lighting\Lighting.vcproj
文件 1409 2011-11-11 04:16 Lighting\Lighting\Lighting.vcproj.wyt-PC.wyt.user
文件 1189 2011-10-28 17:17 Lighting\Lighting\ReadMe.txt
文件 213 2011-10-28 17:17 Lighting\Lighting\stdafx.cpp
文件 769 2011-10-28 17:18 Lighting\Lighting\stdafx.h
- 上一篇:系统根据销售出库明细生成客户对账单
- 下一篇:PowerBuilder餐饮管理系统
相关资源
- 无法打开包括文件 gl glaux.h No such fi
- openGL打包库
- opengl+vc写的太阳系演示源代码包含三
- OpenGL、FreeType 中文纹理绘制
- OpenGL 房子小院
- 基于OpenGL的贝塞尔曲线算法的实现
- 一个3d 飞机模型 可用opengl读取
- 基于openGL、pygame增强现实的视频实现
- Opengl 开发库, 动态链接库文件,op
- OpenGL战斗机飞行实现
- 不同温度和光照强度下的光伏阵列输
- Opengl-光照球体
- OpenGL法向量计算
- stm32f407使用温湿度,光照,烟雾传感
- GLUT库(glut.h、glut32.dll、glut32.lib)
- opengl的鼠标画线,圆,矩形,还有个
-
The Tao fr
amework 2.1.0 - OPENGL绘制三维地形图
- OpenGL实现对三维对象的旋转、平移和
- 在opengl里读取catia文件
- opengl二维图形转换为三维图形
- 三维模型文件中的OBJ格式在OpenGL中的
- opengl自行车动画实验报告
- OPENGL开发的茶壶光影、渲染、旋转、
- opengl 球体
- 基于OpenGL的场景迷宫漫游可以碰撞检
- opengl鼠标控制视角 不透明度改变 光照
- 3D 模型OpenGL显示,旋转、缩放,平移
- 利用OpenGL和ArcGIS处理得到的坐标数据
- QT绘制简单OpenGL图形
评论
共有 条评论