OpenGL4(彩色)



// opengltest.cpp : 定义控制台应用程序的入口点。
// NOTES:
// 1. RGBA 和 索引图 ;选择颜色: glIndexi(GLint c);
// 




#include "stdafx.h"
#include <GL/glut.h> 
#include <iostream>

//void myDisplay(void)      
//{     
//    //剔除正面示例  
//	glClearColor(1.0f, 0.0f, 0.0f, 0.0f); // 设置“空”是什么颜色
//    glClear(GL_COLOR_BUFFER_BIT);  // 清空屏幕 
//
//    glBegin(GL_POLYGON);  
//		glVertex2f(0,0);  
//		glVertex2f(-0.5,0);  
//		glVertex2f(-0.5,-0.5);  
//		glVertex2f(0,-0.5);  
//    glEnd();  
//    
//    glFlush();  
//}

#include <math.h>
const GLdouble Pi = 3.1415926536;
void myDisplay(void)
{
     int i;
     // glShadeModel(GL_FLAT); // 单一色模式
	 glShadeModel(GL_SMOOTH); // 平滑色模式(default)
     glClear(GL_COLOR_BUFFER_BIT);
     glBegin(GL_TRIANGLE_FAN);
     glColor3f(1.0f, 1.0f, 1.0f);
     glVertex2f(0.0f, 0.0f);
     for(i=0; i<=8; ++i)
     {
         glColor3f(i&0x04, i&0x02, i&0x01);
         glVertex2f(cos(i*Pi/4), sin(i*Pi/4));
     }
     glEnd();
     glFlush();
}




int main(int argc, char* argv[])
{    
	glutInit(&argc, argv);  // glutInit,对GLUT进行初始化,这个函数必须在其它的GLUT使用之前调用一次。其格式比较死板,一般照抄这句glutInit(&argc, argv)就可以了。
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);  // glutInitDisplayMode,设置显示方式,其中GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX(表示使用索引颜色)。
									// GLUT_SINGLE表示使用单缓冲,与之对应的还有GLUT_DOUBLE(使用双缓冲)
    glutInitWindowPosition(100, 100);  // 设置窗口在屏幕中的位置。
    glutInitWindowSize(400, 400);  // 设置窗口的大小
    glutCreateWindow("第一个OpenGL程序");  
    glutDisplayFunc(&myDisplay);  // 
    glutMainLoop();  // 进行一个消息循环。(这个可能初学者也不太明白,现在只需要知道这个函数可以显示窗口,并且等待窗口关闭后才会返回,这就足够了。)

	std::cout<<"END!"<<std::endl;

	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值