看opengl 写代码(12) 光
来源:互联网 发布:为什么要反乌托邦 知乎 编辑:程序博客网 时间:2024/05/21 22:20
虽然 还不能完全 明白 这段代码的含义,但是 看到 效果,小伙伴门真的惊呆了!!还是 决定 要好好学习 opengl。
下面上代码:
// light.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <gl/glut.h>void init(){GLfloat mat_specular[] = {1,1,1,1};GLfloat mat_shininess[] = {50.0};GLfloat light_position[] = {1,1,1,0};GLfloat white_light[] = {1,1,1,1};GLfloat lmodel_ambient[] = {0.1,0.1,0.1,1};glClearColor(0,0,0,0);glShadeModel(GL_SMOOTH);glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);glLightfv(GL_LIGHT0,GL_POSITION,light_position);glLightfv(GL_LIGHT0,GL_DIFFUSE,white_light);glLightfv(GL_LIGHT0,GL_SPECULAR,white_light);glLightModelfv(GL_LIGHT_MODEL_AMBIENT,lmodel_ambient);glEnable(GL_LIGHTING);glEnable(GL_LIGHT0);glEnable(GL_DEPTH_TEST);}void display(){glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);glutSolidSphere(1,20,16);glFlush();}void reShape(GLsizei w,GLsizei h){glViewport(0,0,w,h);glMatrixMode(GL_PROJECTION);glLoadIdentity();if (w <= h){glOrtho(-1.5,1.5,-1.5*h/w,1.5*h/w,-10,10);}else{glOrtho(-1.5*w/h,1.5*w/h,-1.5,1.5,-10,10);}glMatrixMode(GL_MODELVIEW);glLoadIdentity();}int _tmain(int argc, _TCHAR* argv[]){glutInit(&argc,(char**) argv);glutInitWindowPosition(100,100);glutInitWindowSize(500,500);glutCreateWindow("light");init();glutDisplayFunc(display);glutReshapeFunc(reShape);glutMainLoop();return 0;}
1 0
- 看opengl 写代码(12) 光
- 看opengl写代码(2) Hello,OpenGl
- 看opengl写代码(3) 实现矩阵的旋转
- 看opengl 写代码(4) 画一个圆
- 看opengl写代码(5) 使用顶点数组
- 看opengl写代码(6)glArrayElement,,glDrawElements和glDrawArrays
- 看opengl写代码(8) 使用缓冲区
- 看opengl写代码(9)使用顶点数组(VAO)
- 看opengl写代码(10) 使用属性数组
- 看openGl写代码(11) 第一个 三维物体
- 看opengl写代码(7) 使用混合数组(glInterLeavedArrays)
- 看 opengl 写代码(1) 搭建开发环境(vs2012 + glut 和 vs2013 + glut)
- 看数据结构写代码(4)单链表
- 看数据结构写代码(43) 关节点
- 看数据结构写代码(55) 二叉排序树
- 看数据结构写代码(61) 哈希表
- 看数据结构写代码(65) 基数排序
- 看流程图,写代码。
- LaTex I found no \bibdata command 解决方案
- Protothreads神奇的多线程库
- 确定比赛名次
- Category Archives: 机器学习
- HTML5_插入标记
- 看opengl 写代码(12) 光
- Contiki例(二)执行被阻塞的任务第二种方法
- java基础第八讲——URL、XML的解析
- logistic回归与牛顿方法的python实现 (standford公开课程小作业)
- 黑马程序员---iOS基础---协议
- UITextField总结
- Java删除ArrayList中的重复元素的2种方法
- poj 1222 高斯消元详解
- URL