欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第三章 基本图形的绘制PPT讲稿.ppt

    • 资源ID:51605897       资源大小:1.98MB        全文页数:36页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第三章 基本图形的绘制PPT讲稿.ppt

    第三章基本图形的绘制第1页,共36页,编辑于2022年,星期二实例02绘制基本图形第2页,共36页,编辑于2022年,星期二坐标用户(opengl)坐标第3页,共36页,编辑于2022年,星期二填充模式glPolygonMode(GL_FRONT,GL_FILL);/设置正面为填充方式glPolygonMode(GL_BACK,GL_LINE);/设置反面为边缘绘制方式glPolygonMode(GL_FRONT_AND_BACK,GL_POINT);/设置两面均为顶点绘制方式glPolygonMode(GL_FRONT_AND_BACK,GL_POINT);/设置两面均为顶点绘制方式glPolygonMode(GL_FRONT_AND_BACK,GL_POINT);/设置两面均为顶点绘制方式第4页,共36页,编辑于2022年,星期二glFrontFace(GL_CCW);/设置CCW方向为“正面”,CCW即CounterClockWise,逆时针glFrontFace(GL_CW);/设置CW方向为“正面”,CW即ClockWise,顺时针第5页,共36页,编辑于2022年,星期二如何绘图glBegin(GL_LINES);glVertex2f(0.0,0.0);glVertex2f(0.0,3.0);glVertex2f(3.0,3.0);glVertex2f(4.0,1.5);glVertex2f(3.0,0.0);glEnd();基本图形类型组织基本图形的顶点第6页,共36页,编辑于2022年,星期二顶点的其它组成方式glBegin(primType);for(i=0;i n;+i)glColor3f(redi,greeni,bluei);glVertex3fv(coordsi);glEnd();第7页,共36页,编辑于2022年,星期二第8页,共36页,编辑于2022年,星期二Geometric PrimitivesGL_POINTS单个顶点集GL_LINES多组双顶点线段GL_POLYGON单个简单填充凸多边形GL_TRIANGLES多组独立填充三角形GL_QUADS多组独立填充四边形GL_LINE_STRIP不闭合折线GL_LINE_LOOP闭合折线GL_TRIANGLE_STRIP线型连续填充三角形串GL_TRIANGLE_FAN扇形连续填充三角形串GL_QUAD_STRIP连续填充四边形串第9页,共36页,编辑于2022年,星期二基本图例第10页,共36页,编辑于2022年,星期二Howtobuildstripshape?GL_TRIANGLE_FANVertices1,n+1,andn+2definetrianglen.GL_TRIANGLE_STRIPForoddnforn,n+1,andn+2definetrianglen.Forevennforn+1,n,andn+2definetrianglen.第11页,共36页,编辑于2022年,星期二Howtobuildstripshape?(Cont.)GL_QUAD_STRIPVertices2n-1,2n,2n+2,and2n+1definequadriliteraln.N/2-1quadriliteralsaredrawn.第12页,共36页,编辑于2022年,星期二Shapes sample第13页,共36页,编辑于2022年,星期二练习01圆柱的绘制思路第14页,共36页,编辑于2022年,星期二练习02绘制连续多边形思路第15页,共36页,编辑于2022年,星期二练习03小房子的绘制思路线框模式实体模式点模式深度测试第16页,共36页,编辑于2022年,星期二构建复杂图形顶点数组第17页,共36页,编辑于2022年,星期二Vertexarrayvoid glVertexPointer(GLint size,GLenum type,GLsizei stride,const GLvoid*pointer);pointertype GL_SHORT,GL_INT,GL_FLOAT,GL_DOUBLEsize 2,3,or 4.stride offset between consecutive vertexes.第18页,共36页,编辑于2022年,星期二void glIndexPointer(GLenum type,GLsizei stride,const GLvoid*pointer);void glColorPointer(GLint size,GLenum type,GLsizei stride,const GLvoid*pointer);void glNormalPointer(GLenum type,GLsizei stride,const GLvoid*pointer);第19页,共36页,编辑于2022年,星期二void glEnableClientState(GLenum array)GL_VERTEX_ARRAY,GL_COLOR_ARRAY,GL_INDEX_ARRAY,GL_NORMAL_ARRAY,GL_TEXTURE_COORD_ARRAY,GL_EDGE_FLAG_ARRAY第20页,共36页,编辑于2022年,星期二void glArrayElement(GLint ith)void glDrawElements(GLenum mode,GLsizei count,GLenum type,void*indices);inti;glBegin(mode);for(i=0;icount;i+)glArrayElement(indicesi);glEnd();第21页,共36页,编辑于2022年,星期二glArrayElementglEnableClientState(GL_COLOR_ARRAY);glEnableClientState(GL_VERTEX_ARRAY);glColorPointer(3,GL_FLOAT,0,colors);glVertexPointer(2,GL_INT,0,vertices);glBegin(GL_TRIANGLES);glArrayElement(2);glArrayElement(3);glArrayElement(5);glEnd();第22页,共36页,编辑于2022年,星期二EqualcodeglBegin(GL_TRIANGLES);glColor3fv(colors+(2*3*sizeof(GLfloat);glVertex3fv(vertices+(2*2*sizeof(GLint);glColor3fv(colors+(3*3*sizeof(GLfloat);glVertex3fv(vertices+(3*2*sizeof(GLint);glColor3fv(colors+(5*3*sizeof(GLfloat);glVertex3fv(vertices+(5*2*sizeof(GLint);glEnd();第23页,共36页,编辑于2022年,星期二staticGLubytefrontIndices=4,5,6,7;staticGLubyterightIndices=1,2,6,5;staticGLubytebottomIndices=0,1,5,4;staticGLubytebackIndices=0,3,2,1;staticGLubyteleftIndices=0,4,7,3;staticGLubytetopIndices=2,3,7,6;glDrawElements(GL_QUADS,4,GL_UNSIGNED_BYTE,frontIndices);glDrawElements(GL_QUADS,4,GL_UNSIGNED_BYTE,rightIndices);glDrawElements(GL_QUADS,4,GL_UNSIGNED_BYTE,bottomIndices);glDrawElements(GL_QUADS,4,GL_UNSIGNED_BYTE,backIndices);glDrawElements(GL_QUADS,4,GL_UNSIGNED_BYTE,leftIndices);glDrawElements(GL_QUADS,4,GL_UNSIGNED_BYTE,topIndices);第24页,共36页,编辑于2022年,星期二staticGLubyteallIndices=4,5,6,7,1,2,6,5,0,1,5,4,0,3,2,1,0,4,7,3,2,3,7,6;glDrawElements(GL_QUADS,24,GL_UNSIGNED_BYTE,allIndices);第25页,共36页,编辑于2022年,星期二Set ColorTheOpenGLColorModelOpenGLusestheRGB(A)colormodelThereisalsoacolor-indexmodeColorsarespecifiedasfloating-pointnumbersintherange0.0,1.0setawindowsbackgroundcolor,shouldcall glClearColor(1.0,0.3,0.6,1.0);R G B A-Tosetacolor,shouldcall glColor3f(1.0,0.3,0.6);第26页,共36页,编辑于2022年,星期二ColormodelOpenGL使用RGB(A)颜色模型voidglColor3bsifdubusui(TYPEr,TYPEg,TYPEb);voidglColor4bsifdubusui(TYPEr,TYPEg,TYPEb,TYPEa);voidglColor3bsifdubusuiv(TYPE*v);voidglColor4bsifdubusuiv(TYPE*v);颜色索引模式voidglIndexsifd(TYPEc);voidglIndexsifdv(TYPE*c);第27页,共36页,编辑于2022年,星期二OpenGLColorSpecifyingSchemeset_current_color(red);draw_object(A);draw_object(B);set_current_color(green);set_current_color(blue);draw_object(C);Color buffer Color buffer?第28页,共36页,编辑于2022年,星期二Clearing the WindowglClearColor(0.0,0.0,0.0,0.0);glClearDepth(1.0);glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);glClearColor(0.0,0.0,0.0,0.0);glClear(GL_COLOR_BUFFER_BIT);第29页,共36页,编辑于2022年,星期二Displaying Points,LinesPoint Detailsvoid glPointSize(GLfloat size);Line Detailsvoid glLineWidth(GLfloat width);The line width can be got by calling:glGetFloatv(GL_LINE_WIDTH_RANGE);Stippled LinesglLineStipple(1,0 x3F07);void glLineStipple(GLint factor,GLushort pattern);0011111100000111Redbook:lines.c第30页,共36页,编辑于2022年,星期二Stippling Polygonsvoid glPolygonStipple(const GLubyte*mask);状态开关glEnable(GL_POLYGON_STIPPLE);glDisable(GL_POLYGON_STIPPLE);glEnable(GL_LINE_STIPPLE);glDisable(GL_LINE_STIPPLE);第31页,共36页,编辑于2022年,星期二Polys.c第32页,共36页,编辑于2022年,星期二深度测试显示模式支持深度缓冲glEnable(GL_DEPTH_TEST)参见实例“深度测试”第33页,共36页,编辑于2022年,星期二调研与讨论1.列举比较常用光栅扫描算法2.列举比较常用填充算法3.列举比较常用消隐算法4.列举比较常用反走样技术5.列举比较常用裁剪算法分组讨论第34页,共36页,编辑于2022年,星期二实验01绘制基本图形提交格式:把实验报告(word文档)和工程文件打包,并以学号姓名(如:20080001郭德刚)的形式命名。提交位置:ftp:/202.113.72.6/学生作业/汪日伟/作业及实验报告/2008-2009第二学期图形学/第一次实验提交时间:2009-3-16前第35页,共36页,编辑于2022年,星期二实验02多边形的填充多边形的填充提交格式:把实验报告(word文档)和工程文件打包,并以学号姓名(如:20080001郭德刚)的形式命名。提交位置:ftp:/202.113.72.6/学生作业/汪日伟/作业及实验报告/2008-2009第二学期图形学/第一次实验提交时间:2009-3-23前第36页,共36页,编辑于2022年,星期二

    注意事项

    本文(第三章 基本图形的绘制PPT讲稿.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开