OpenGL编程轻松入门之像素操作

OpenGL编程轻松入门之像素操作

ID:41032787

大小:23.00 KB

页数:5页

时间:2019-08-14

OpenGL编程轻松入门之像素操作_第1页
OpenGL编程轻松入门之像素操作_第2页
OpenGL编程轻松入门之像素操作_第3页
OpenGL编程轻松入门之像素操作_第4页
OpenGL编程轻松入门之像素操作_第5页
资源描述:

《OpenGL编程轻松入门之像素操作》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、OpenGL编程轻松入门之像素操作2006-05-2308:35作者:黄燕出处:天极开发责任编辑:方舟本节讲解像素操作。  例14:本例在窗口绘制一个三角形,然后利用glCopyPixel函数拷贝了五次该图形,并将这五个三角形放置在窗口的不同位置。#include#include/*设置背景色*/voidmyInit(void){ glClearColor(1.0,1.0,1.0,1.0);}/*绘制彩色三角形*/voidtriangle(void){ glBegin(GL_TRIANGLE

2、S); glColor3f(1.0,1.0,0.0); glVertex2f(10.0,10.0); glColor3f(0.0,0.3,1.0); glVertex2f(20.0,30.0); glColor3f(1.0,0.0,0.0); glVertex2f(30.0,10.0); glEnd();}voidmyDisplay(){ inti; glClear(GL_COLOR_BUFFER_BIT

3、GL_DEPTH_BUFFER_BIT); glPushMatrix(); glTranslatef(10.0,100.0,0.

4、0); triangle(); glPopMatrix(); glPushMatrix(); for(i=0;i<5;i++) {  glRasterPos2i(20+i*30,10+i*5);//为像素操作指定光栅位置  glCopyPixels(50,200,500,500,GL_COLOR);//在缓存中拷贝像素 } glPopMatrix(); glFlush();}voidmyReshape(intw,inth){ glViewport(0,0,(GLsizei)w,(GLsizei)h); glMatrixMode(GL

5、_PROJECTION); glLoadIdentity(); if(w<=h)  gluOrtho2D(0.0,150,0.0,150.0*(GLfloat)h/(GLfloat)w); else  gluOrtho2D(0.0,150*(GLfloat)w/(GLfloat)h,0.0,150.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity();}intmain(intargc,char**argv){ glutInit(&argc,argv); glutInitDisplayMod

6、e(GLUT_SINGLE

7、GLUT_RGB

8、GLUT_DEPTH); glutInitWindowSize(500,400); glutInitWindowPosition(100,100); glutCreateWindow("copy"); myInit(); glutReshapeFunc(myReshape); glutDisplayFunc(myDisplay); glutMainLoop(); return0;}  ·glRasterPos在像素操作中指定光栅位置。同样后面的数字表示坐标维数,2表示坐标为x、y,3表示

9、、,y、z。数字后面的字母表示参数类型。最后带V表示参数为指针。  ·voidglCopyPixels(GLintx,Glinty,GLsizeiwidth,GLsizeiheight,GLenumtype)函数将像素拷贝到缓存中。  x,y指定被拷贝像素的右下角坐标。  width,heigth指定被拷贝像素矩形区域的大小。  type指定拷贝数值的类型。值为颜色、深度或膜板值。本例中为颜色。  例15:此例在窗口左下角写单词FILE。#include#include/*字母F*/GLub

10、ytef_rasters[12]={0xc0,0xc0,0xc0,0xc0,0xc0,0xfc,0xfc,0xc0,0xc0,0xc0,0xff,0xff};/*字母I*/GLubytei_rasters[12]={0xff,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xff,0xff};/*字母L*/GLubytel_rasters[12]={0xff,0xff,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0};/*字母E*/GLu

11、bytee_rasters[12]={0xff,0xff,0xc0,0xc0,0xc0,0xff,0xff,0xc0,0xc0,0xc0,0xff,0xff};voidmyInit(void){ glPixelStorei(GL_UN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。