`
tiankefeng0520
  • 浏览: 143063 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

OpenGL学习三:绘制矢量图形模型

 
阅读更多

glBegin(GL_TRIANGLES);
  glVertex3f( 0.0f, 1.0f, 0.0f);
  glVertex3f(-1.0f,-1.0f, 0.0f);
  glVertex3f( 1.0f,-1.0f, 0.0f);
 glEnd();

 

begin end 中间是构成矢量图形的点

 

#define GL_POINTS                         0x0000
#define GL_LINES                          0x0001
#define GL_LINE_LOOP                      0x0002
#define GL_LINE_STRIP                     0x0003
#define GL_TRIANGLES                      0x0004
#define GL_TRIANGLE_STRIP                 0x0005
#define GL_TRIANGLE_FAN                   0x0006
#define GL_QUADS                          0x0007
#define GL_QUAD_STRIP                     0x0008
#define GL_POLYGON                        0x0009

#include "header.h"

GLvoid ReSizeGLScene(GLsizei width, GLsizei height)	
{
	if (height==0)									
	{
		height=1;									
	}

	glViewport(0,0,width,height);					

	glMatrixMode(GL_PROJECTION);					
	glLoadIdentity();							

	
	gluPerspective(25.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);

	glMatrixMode(GL_MODELVIEW);							
	glLoadIdentity();							
}

int InitGL(void)										
{
	glShadeModel(GL_SMOOTH);						
	glClearColor(0.0f, 0.0f, 0.0f, 0.5f);				
	glClearDepth(1.0f);								
	glEnable(GL_DEPTH_TEST);							
	glDepthFunc(GL_LEQUAL);								
	glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);	
	return TRUE;										
}

void DrawGLScene(void)									
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);	
	glLoadIdentity();									
	glTranslatef(-1.5f,0.0f,-6.0f);					
	glBegin(GL_TRIANGLES);								
		glVertex3f( 0.0f, 1.0f, 0.0f);				
		glVertex3f(-1.0f,-1.0f, 0.0f);					
		glVertex3f( 1.0f,-1.0f, 0.0f);				
	glEnd();										
	glTranslatef(3.0f,0.0f,0.0f);						
	glBegin(GL_QUADS);								
		glVertex3f(-1.0f, 1.0f, 0.0f);					
		glVertex3f( 1.0f, 1.0f, 0.0f);		
		glVertex3f( 1.0f,-1.0f, 0.0f);				
		glVertex3f(-1.0f,-1.0f, 0.0f);				
	glEnd();										
	glFlush();								
}


int main(int argc, char** argv)
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
	glutInitWindowSize(640,480);
	glutCreateWindow("2D图形");
	glutReshapeFunc(ReSizeGLScene);
	glutDisplayFunc(DrawGLScene);

	InitGL();
	glutMainLoop();
	return 0;
}

 

  • 大小: 2 KB
分享到:
评论

相关推荐

    计算机图形学基础-pdf.zip

    5.8在OpenGL中绘制图形 5.8.1点的绘制 5.8.2直线的绘制 5.8.3多边形面的绘制 5.8.4OpenGL中的字符函数 5.8.5OpenGL中的反走样 第6章二维变换及二维观察 6.1基本概念 6.2基本几何变换 6.2.1平移...

    2009.6.19—30举办3S研讨会暨Google Earth与Google Map等仿真建模与共享及ARCGIS与遥感高级程序员培训班

    2)虚拟现实技术与虚拟现实GIS最新技术总体介绍:OpenGL介绍及上机练习开发(机房):三维建模;纹理制作;开发与系统集成:采用VC++、java和OpenGL以动态库或者组件的应用开发;模型库建立建模工具可以采用目前流行的...

    WebGL编程指南压缩包

    轻松发布三维图形程序 4 充分利用浏览器的功能 5 学习和使用WebGL 很简单 5 WebGL 的起源 5 WebGL 程序的结构 6 总结 7 第2 章 WebGL 入门 9 Canvas 是什么? 10 使用[canvas] 标签 11 DrawRectangle.js 13...

    WebGL编程指南

    轻松发布三维图形程序 4 充分利用浏览器的功能 5 学习和使用WebGL 很简单 5 WebGL 的起源 5 WebGL 程序的结构 6 总结 7 第2 章 WebGL 入门 9 Canvas 是什么? 10 使用[canvas] 标签 11 DrawRectangle.js 13...

    webgl编程指南及源码1/2

    轻松发布三维图形程序 4 充分利用浏览器的功能 5 学习和使用WebGL 很简单 5 WebGL 的起源 5 WebGL 程序的结构 6 总结 7 第2 章 WebGL 入门 9 Canvas 是什么? 10 使用[canvas] 标签 11 DrawRectangle.js 13...

    webgl编程指南及源码2/2

    轻松发布三维图形程序 4 充分利用浏览器的功能 5 学习和使用WebGL 很简单 5 WebGL 的起源 5 WebGL 程序的结构 6 总结 7 第2 章 WebGL 入门 9 Canvas 是什么? 10 使用[canvas] 标签 11 DrawRectangle.js 13...

    精通Qt4编程(第二版)源代码

    初 级 篇 \第1章 Qt初步实践 2 \1.1 第一个Qt程序 2 \1.1.1 建立主程序 2 \1.1.2 建立工程 3 \1.1.3 编译/运行第一个Qt应用程序 8 ...\1.1.4 第一个Qt程序的代码分析 8 ...最后讲解了Qt 4图形系统的模型视图...

    Android程序设计基础

    将类似于Flash的光滑、无锯齿的2D矢量图形和动画与3D加速的OpenGL图形相结合,可实现各种新式的游戏和商业应用程序。Android内置了最常用的行业标准音频和视频格式的编解码器,这些格式包括H.264 (AVC)、MP3和AAC。 ...

    精通qt4编程(源代码)

    最后讲解了Qt 4图形系统的模型视图框架——Graphics View框架。 152 \ 第7章 拖放操作与剪贴板 蔡志明 本章简要地说明了基于MIME的拖放操作和剪贴板的使用,关于Graphics View框架的拖放操作也在本章。 212 \ 第8章 ...

    精通ANDROID 3(中文版)1/2

    20.2.1 使用OpenGL ES进行基本绘制  20.2.2 OpenGL照相机和坐标  20.3 在Android中使用OpenGL ES  20.3.1 使用GLSurfaceView和相关类  20.3.2 实现Renderer  20.3.3 通过Activity使用GLSurfaceView  ...

    精通Android 3 (中文版)2/2

    20.2.1 使用OpenGL ES进行基本绘制  20.2.2 OpenGL照相机和坐标  20.3 在Android中使用OpenGL ES  20.3.1 使用GLSurfaceView和相关类  20.3.2 实现Renderer  20.3.3 通过Activity使用GLSurfaceView  ...

    新版Android开发教程.rar

    ----------------------------...• 优化的图形库 包括定制的 2D 图形库, 3D 图形库基于 OpenGL ES 1.0 (硬件加速可选) • SQLite SQLite SQLite SQLite 用作结构化的数据存储 • 多媒体支持 包括常见的音频、视频和...

    VC与Labview、Matlab编程论文资料[2].rar

    VC环境下纸箱打样机的矢量图形系统软件开发.pdf VC环境中位图图像的处理方法.pdf VC编程实现软件多语言功能.pdf VC调用MATLAB的方法.pdf Vega和MFC的战斗机飞行仿真系统设计与实现.pdf _NET环境下MFC框架应用...

    VC与Labview、Matlab编程论文资料

    VC环境下纸箱打样机的矢量图形系统软件开发.pdf VC环境中位图图像的处理方法.pdf VC编程实现软件多语言功能.pdf VC调用MATLAB的方法.pdf Vega和MFC的战斗机飞行仿真系统设计与实现.pdf _NET环境下MFC框架应用...

    VC与Labview、Matlab编程论文资料[4].rar

    VC环境下纸箱打样机的矢量图形系统软件开发.pdf VC环境中位图图像的处理方法.pdf VC编程实现软件多语言功能.pdf VC调用MATLAB的方法.pdf Vega和MFC的战斗机飞行仿真系统设计与实现.pdf _NET环境下MFC框架应用...

Global site tag (gtag.js) - Google Analytics