第五章 3真实感图形技术.ppt 41页

  • 0
  • 0
  • 0
  • 约7.63千字
  • 2020-09-29 发布
文档工具:
    1. 1、本文档共41页,可阅读全部内容。
    2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
    3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
    4. 文档侵权举报电话:19940600175。
    7 图形技术基础-真实感图形技术 7.4 隐藏线和隐藏面的消除 7.4.1 隐藏线和隐藏面问题 7.4.2 消隐算法中的基本测试方法 投影变换 最小最大测试 包含性测试 深度测试 可见性测试 最小最大测试 这种测试也叫重叠测试或边界盒测试。用来检查两个多边形是否重叠。 包含性测试 包含性测试是检查一个给定的点是否位于给定的多边形或多面体内。 夹角求和算法,计算从测试点方向看的每条有向边所对的角度,如果角度和等于0,则点在多边形外;如果角度和为 ,则该点在多边形内。 深度测试 Z缓冲器算法是所有图像空间算法中最简单的一种隐藏面消除算法。在象素级上以近物取代远物. 优点:1)简单稳定,利于硬件实现 2)不需要整个场景的几何数据 缺点: 1)需要一个额外的Z缓冲器 2)在每个多边形占据的每个像素处都要计算深度值,计算量大 7.5 图形标准 为了能够让交互式图形系统在不同的计算机和图形设备之间进行移植,制定图形软件的标准是非常必要的。 可移植性包括: 应用程序在不同系统之间的可移植性 应用程序与图形设备的无关性 图形数据的可移植性 程序员的可移植性 图形标准是一组由基本图元(点、线、面)和属性(线型、颜色等)构成的标准通用图形系统。它们以子程序的形式支持应用图形系统。应用程序通过调用这些图形标准子程序,即可生成图形和图像,并通过交互显示设备实现图形的输入输出。 标准图形系统有: 二维图形核心系统GKS(graphics kernel system) 三维图形核心系统GKS-3D(graphics kernel system-3D) 程序员级层次交互式图形系统PHIGS(programmer hiberarchy interface graphics system) 3.5 图形标准 图形程序库OpenGL 作为标准图形软件接口,是由几百个指令或函数组成。 OpenGL功能有: 绘制三维物体 观察物体 指定颜色模式 光照 增强图像效果 管理位图和图像 纹理映射 制作动画 交互技术 OpenGL编程 三维变换 真实感显示 图形显示 正平行投影 实例 编写程序 // //////////////////////////////////////////////////////// // 编写OpenGL程序 // //////////////////////////////////////////////////////// 新建工程文件 在VC界面上, 从菜单File?New: 建立MFC应用程序 选择工程文件类型,并填写工程文件名称 配置工程文件 添加OpenGL库 增加成员变量COpenGLPlatView?m_hRC 增加成员变量COpenGLPlatView?m_hRC 增加变量: 记录OpenGL渲染句柄 a handle to an OpenGL rendering context 增加成员函数COpenGLPlatView::OnCreate 修改COpenGLPlatView::OnCreate代码 int COpenGLPlatView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here // //////////////////////////////////////////////////////////////// // New codes begin: 修改COpenGLPlatView::OnCreate代码 // The PIXELFORMATDESCRIPTOR structure describes // the pixel format of a drawing surface. PIXELFORMATDESCRIPTOR pfd = { sizeof(PIXELFORMATDESCRIPTOR), // size of this pfd 1, // version number PFD_DRAW_TO_WINDOW | // support window PFD_SUPPORT_OPENGL | // support OpenGL PFD_DOUBLEBUFFER,

    您可能关注的文档

    文档评论(0)

    • 内容提供方:qwd513620855
    • 审核时间:2020-09-29
    • 审核编号:8073014002003002

    相似文档