OpenGL基础(一)画多边形

 1 //Five edges polygon.
 2 //As less code as possible.
 3
 4 #include "stdafx.h"
 5 #include<gl/glut.h>
 6 #include<stdlib.h>
 7
 8 void init(void)
 9 {
10     glClearColor(0.0, 0.0, 0.0, 0.0);
11 }
12
13 void display(void)
14 {
15     glClear(GL_COLOR_BUFFER_BIT);
16
17
18     glBegin(GL_POLYGON);
19     glColor3f(1.0, 1.0, 1.0);
20     glVertex3f(-1.0, 0.0, 0.0);
21
22     glColor3f(1.0, 1.0, 0.0);
23     glVertex3f(0.0, 1.0, 0.0);
24
25     glColor3f(1.0, 0.0, 1.0);
26     glVertex3f(1.0, 0.0, 0.0);
27
28     glColor3f(0.0, 1.0, 1.0);
29     glVertex3f(0.5, -1.0, 0.0);
30
31     glColor3f(0.0, 0.0, 1.0);
32     glVertex3f(-0.5, -1.0, 0.0);
33     glEnd();
34     glFlush();
35
36 }
37
38
39 int main(int argc, char** argv)
40 {
41     glutInit(&argc, argv);
42     glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
43     glutInitWindowPosition(500, 300);
44     glutInitWindowSize(500, 500);
45     glutCreateWindow("SimplePentage");
46     init();
47     glutDisplayFunc(display);
48     glutMainLoop();
49     return 0;
50 }
时间: 2024-12-29 23:47:56

OpenGL基础(一)画多边形的相关文章

opengl基础学习专题 (二) 点直线和多边形

题外话 随着学习的增长,越来越觉得自己很水.关于上一篇博文中推荐用一个 学习opengl的 基于VS2015的 simplec框架.存在 一些问题. 1.这个框架基于VS 的Debug 模式下,没有考虑Release版本 2.这个版本中chead,c基础头文件中有些宏设计的不好,例如 //4.0 控制台打印错误信息 #ifndef CERR #define CERR(fmt,...) fprintf(stderr,fmt,##__VA_ARGS__),putchar('\n') #endif/*

OpenGL基础(一)1.3点画多边形

一.步骤和语句 建立点画数组:表示32*32位图   像素颜色 1黑0白 GLubyte stippleArray[] = {};//?? 启用点画模式  glEnable(GL_POLYGON_STIPPLE); 调用点画函数  glPolygonStipple( stippleArray ); 画多边形  glRectf(); 禁用点画模式glDisable(GL_POLYGON_STIPPLE);

opengl基础学习专题 (一 )编程环境搭建

题外话: 第一次在博客园上同大家分享博文.水的的地方,错别字的地方.环境交流.批评.知道了马上改. 以前在百度空间中写技术分享博文,后来百度啥也没说就把整个空间封了.当时感觉 还是有点寒心.只想黑一下它,厂长老了.场子也该换了. 对于想写个oepngl基础学习的专题,主要是网上资源有点老,好多都运行不了,买了红宝书<<OpenGL 编程指南 第8版>>,看了还看,觉得有点专业,优化和技术核心讲的的多. 而且都是代码片段,像自己这种门外汉学习起来还是觉得基础不行.需要恶补一下关于 f

OpenGL基础图形编程

一.OpenGL与3D图形世界1.1.OpenGL使人们进入三维图形世界 我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些物体,我们必须能在三维空间描绘这些物体.我们又生活在一个充满信息的世界中,能否尽快地理解并运用这些信息将直接影响事业的成败,所以我们需要用一种最直接的形式来表示这些信息. 最近几年计算机图形学的发展使得三维表现技术得以形成,这些三维表现技术使我们能够再现三维世界中的物体,能够用三维形体来表示复杂的信息,这种技术就是可视化(Visualization)技术.

OpenGL基础(一)2.画多边形之圆

1 //Five edges polygon. 2 //As less code as possible. 3 4 #include "stdafx.h" 5 #include<gl/glut.h> 6 #include<stdlib.h> 7 #include<iostream> 8 #include<math.h> 9 10 const GLdouble PI = 3.1415926; 11 static GLdouble x, y;

[原]OpenGL基础教程(二)多边形绘制

上篇介绍了最基本的三角形绘制,本篇介绍如何使用索引的方式绘制多边行. 为什么要使用索引方式,总体来说提高性能.如何提高:使用顶点数组的好处是避免大量的函数调用.即避免每画一个顶点就调用1次glVertex*(). 另一个好处是避免多边形相邻顶点的冗余指定.例如正方体,分别描述6个正方形,会造成每个顶点被重复描述3次. 如果以上没有说服力,看看这个, gl.Begin(),gl.End()对是一种低效的方式,因此opengl es干脆不再支持他们了,同时高版本的opengl都在弃用gl.Begin

[原]OpenGL基础教程(一)多边形绘制

1.opengl开发环境搭建 参考http://brothergrup.iteye.com/blog/1602471 2.为三角形填充颜色: 填充颜色函数为glColor(3/4)*(r,g,b)  3或4 表示 rgb/rgba;* 表示rgba的数值类型(b,i..) 最终都会被映射到[0-1]. 如何映射的呢 就是拿写的值/当前类型最大值 比如byte是-128~127 glColor3b(1,0,0) 等价于 glColor3f(1/127f,0,0)  小于0的 就当0处理 void

opengl基础学习专题 (三) 多边形绘制的几种样式

题外话 聪明人之所以不会成功,是由于他们缺乏坚韧的毅力. ——艾萨克·牛顿(1643年1月4日—1727年3月31日)英国 也许可以理解为 想更深一步的时候,坚持,努力和聪明缺一不可. 挺直腰杆在此向您致敬,愿您仍在天国 仍潇洒的思索着,奔跑着. 正文 在第二课中,我们学习了如何绘制几何图形,但大家如果多写几个程序,就会发现其实还是有些郁闷之处. 例如:点太小,难以看清楚:直线也太细,不舒服:或者想画虚线,但不知道方法只能用许多短直线,甚至用点组合而成. 这些问题将在本课中被解决. 下面就点.直

【OpenGL基础篇】——使用面向对象方法封装OpenGL函数(一)

OpenGL是一个开源的图形库,既可开发二维图形软件,也可开发三维图形软件.许多知名应用就是基于OpenGL开发出来,如著名的Artoolkit和Unity3D. GLUT是代表OpenGL应用工具包,英文全称为OpenGL Utility Toolkit,是一个和窗口系统无关的软件包,它由Mark Kilgard在SGI时写的.作为AUX库的功能更强大的替代品,用于隐藏不同窗口系统API的复杂性.(百度百科) 因为OpenGL的API是底层图形库API,使用起来还是有些复杂,所以,我打算使用面