还没看第三章,工作需要看了写纹理看了写矩阵变换,但是基本看不懂啊,,把活儿交差了先。
做了第二章的第一个习题,通过细分多边形模拟化缘,哦,是画圆
代码及注释:
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
static int n = 4;//多边形边数
float a = 0; //多边形内角?不知道怎么称呼这个角。。
float x=0, y=0; //多边形顶点
float R = 1.0f; //半径。
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINE_LOOP);
glColor3f(1.0, 0.0, 0.0);
a = 360/n;
int i;
n=n<3?3:n;//不能画成一条直线
for(i=1; a*i<=360; ++i)
{ //for循环确定多边型顶点
x = R*cos(i*a*3.14/180);
y = R*sin(i*a*3.14/180);
glVertex2f(x, y);
}
glEnd();
glLineWidth(10.0);//边线宽度10像素
glFlush();
}
void myReshape(GLsizei w,GLsizei h){
glViewport(0,0,w,h);
}
static void key(unsigned char key, int x, int y)
{ //这个按键处理回调是CodeBox自己创建的自动化代码,刚好拿来用作多边形变化
switch (key)
{
case 27 :
case 'q':
exit(0);
break;
case '+':
++n; //增加多边形边的数量。
break;
case '-':
--n; //减少边
break;
}
glutPostRedisplay();
}
/* Program entry point */
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutCreateWindow("Circle");
glClearColor(1.0, 1.0, 1.0, 1.0); //清理颜色,放在这里可以设置背景颜色。
glutDisplayFunc(display); //加班那些事儿
glutReshapeFunc(myReshape); //加班那些事儿,今次没在这个函数里加班。。
glutKeyboardFunc(key);
glutMainLoop();
return EXIT_SUCCESS;
}
程序出来后是一个整四边行,按“+”按键,逐渐变成一个圆,逐渐的化缘,慢慢的,就特用它化缘讨饭了,
还不清除如何在OpenGL里把数据输出到屏幕或者命令行,今次写这个习题的时候对顶点值的调试花了挺长时间。。郁闷,第二章里关于调试讲的很模糊,,,
分享到:
相关推荐
OpenGL编程基础OpenGL编程基础OpenGL编程基础
《国外经典教材·计算机科学与技术·OpenGL编程基础(第3版)》完整、详细介绍基本的OpenGL函数和命令,便于读者快速查找;从非数学角度介绍如何进行OpenGL程序设计,有利于读者迅速入门;各章提供可运行的范例,有助...
OpenGL的比较基础的参考书,帮助想入门OpenGL的人进行学习。
openGL编程基础 openGL编程基础 openGL编程基础 openGL编程基础
OpenGL编程基础(含源码)
2009年清华大学出版社出版的图书。 第1章 绪论 1.1 OpenGL API 1.2 关于OpenGL的三种观点 1.2.1 程序员的观点 1.2.2 OpenGL状态机 ...1.2.3 OpenGL绘制流水线 ...1.3 OpenGL的组成 ...第2章 OpenGL中的二维编程
OpenGL编程基础得分的的地方是打发单点的大大大丰富的
OpenGL 编程指南 第七版 源码 红宝书源码,未经任何修改
opengl编程指南第八版
本书共12张,第一章:OpenGL概述,第二章:着色器基础,第三章:OpenGL绘制方式,第四章:颜色、像素和帧缓存,第五章:视口变换、剪切与反馈,第六章:纹理,第七章:光照与阴影,第八章:程序式纹理,第九章:细分...
OpenGL编程基础(第三版)Edward Angel 清华大学出版社 书本代码大全
[OpenGL编程基础中文版].(美国)Edward.Angel.清晰版
完整的OpenGL编程指南第八版源代码,
Opengl编程指南 第八版 源码.part1
OpenGL编程基础课件第九章 曲线与曲面
OpenGL是在计算机图形学等很多领域内常常用的算法。
第1章OpenGL简介 1.1什么是OpenGL? 1.2一段简单的OpenGL代码 1.3OpenGL函数的语法 1.4OpenGL是个状态机 1.5OpenGL渲染管线 1.5.1显示列表 1.5.2求值器 1.5.3基于顶点的操作 1.5.4图元装配 1.5.5像素操作 1.5.6纹理...
OpenGL编程指南(第六版).pdf ),学习openGL必备
OpenGL编程指南第八版高清中文完整版 OpenGL编程指南第八版高清中文完整版