看opengl 写代码(4) 画一个圆
2015-07-12 23:36
323 查看
opengl 编程指南 P30
下面代码 是 用 直线 连起来 画一个圆。
// circle.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <gl/glut.h>
#include <cmath>
#define LENGTH 100
#define PI 3.1415926
void init(){
glClearColor(0,0,0,0);
}
void display(){
glColor3f(1.0,0,0);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINE_LOOP);
for (int i = 0; i < LENGTH; i++){
float angle = 2 * PI * i / LENGTH;
glVertex2f(cos(angle)*0.5,sin(angle)*0.5);
}
glEnd();
glFlush();
}
int _tmain(int argc, _TCHAR* argv[])
{
glutInit(&argc,(char **)argv);
glutInitDisplayMode(GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow("circle");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
运行截图:
下面代码 是 用 直线 连起来 画一个圆。
// circle.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <gl/glut.h>
#include <cmath>
#define LENGTH 100
#define PI 3.1415926
void init(){
glClearColor(0,0,0,0);
}
void display(){
glColor3f(1.0,0,0);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINE_LOOP);
for (int i = 0; i < LENGTH; i++){
float angle = 2 * PI * i / LENGTH;
glVertex2f(cos(angle)*0.5,sin(angle)*0.5);
}
glEnd();
glFlush();
}
int _tmain(int argc, _TCHAR* argv[])
{
glutInit(&argc,(char **)argv);
glutInitDisplayMode(GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow("circle");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
运行截图:
相关文章推荐
- javac编译项目代码脚本片段
- RMI in Spring
- 鹊桥相会---编程马拉松
- struts2传参到JSP
- Spring boot 学习笔记—带来的好处(二)
- 基于spring3.0.5 mvc 简单用户管理实例
- Java Web 编程实践学习笔记 一
- php函数嵌套
- [转]命令行方式运行PHP脚本
- git上传文件到github
- java nio实现服务器时遇到的问题
- Java线程池使用说明
- spring IoC和AOP的原理
- 游戏引擎不仅是代码,更多的是完善的工具
- Spring init-method和destroy-method 的使用
- eclipse+pydev开发环境搭建
- 从链表操作理解C++传指针的问题
- PHP常用函数收集
- github for windows安装以及教程
- Spring框架源码学习---DI的实现