精华内容
下载资源
问答
  • 图形程序设计
    千次阅读
    2019-06-16 11:56:44

    基础知识

    计算机图形学概述

    计算机图形学(CG)是一门研究如何利用计算机进行图形的计算、处理和显示的学科。简单的说是一种使用数学算法将二维或三维图形转化为计算机显示器所能显示的二维栅格形式的科学(3D–>2D)。

    • 建模(Modeling):构建物体三维模型
    • 渲染(Rendering):计算屏幕窗口中每个像素的颜色,像素点颜色与光照、环境及物体材质有关
    • 动画(Animation):让物体动起来

    图形与图像

    • 图形(graph):表示形的几何信息
    • 图像(image):像素组成的二维栅格
      图形的显示最终要转化为图像。
      在这里插入图片描述

    图形流水线

    • 图形流水线(Graphics pipeline):在计算机中将3D模型转化为屏幕上的图像经过的一系列处理步骤(现在一般是逐面片绘制)。
      • 逐面片绘制:模型由许多面片(polygon)组成,逐面片的进行投影、光栅化(Rasterization)。
        • 投影:三维变换到二维
        • 光栅化:计算面片所覆盖的栅格
    • 1992年,SGI发布OpenGL1.0,图形流水线逐渐形成业界标准。
    • 1994年出现PC显卡,1999年出现GPU,图形流水线逐渐硬化到pc机专用图形硬件中。
      OPENGL红宝书上的流水线
      图形流水线总览
    1. 顶点操作(vertex operation)
      变换(Transformation):几何变换->投影->裁剪->视口变换
    2. 光栅化(rasterization)
      计算面片所覆盖的栅格
    3. 片元操作(fragment operation)
      纹理、雾效、测试等

    图形开发库

    • 基础图形库
      • OpenGL(Open graphics library)
        调用图形硬件的程序接口,应用程序和图形显卡驱动的中介,可跨平台。
      • Direct3D
        在游戏界占优。
    • 辅助OpenGL开发的工具库
      aux(微软)、glut->freeglut、glfw
    • 辅助调用OpenGL扩展功能的库
      glew、glad

    GPU

    • GPU是显卡的心脏,用来处理屏幕相关计算,并实现图形流水线,架构是并行。
    • GPU中图形流水线的发展
      • 早期固定管线(fixed),效率高,不够灵活
      • 2003年出现可编程渲染管线,vetex 和fragment可编程功能,Vertex Shader(顶点着色器)和Fragment Shader(片元着色器)
      • 2006年增加了Geometry Shader(几何着色器)
        图形流水线的发展
    • GPU编程
      • 早期汇编语言
      • 高级着色语言(shader language)
        在这里插入图片描述
    • GPU的应用未来
      • 通用并行计算平台
        • CUDA——基于Nvidia GPU的并行计算架构
        • OpenCL——业界众多著名厂商共同制作的面向异构系统通用目的 并行编程的开放式标准
      • GPGPU(General-Purpose GPU)
        用GPU完成通用计算,完成巨大计算量加速
      • GPU+CPU混合架构

    OpenGL编程

    OpenGL的功能

    • 变换(几何、投影、视口)
    • 光照与材质
    • 纹理映射
    • 图像功能(anti-aliasing反混淆、blending混合、fog)
    • 特效(depth cue深度暗示、motion blur运动模糊)
    • 建模(basic primitives,NURBS曲面)

    OpenGL的两种编程模式

    • 固定流水线模式——传统方式
    • shader编程模式——现代方式

    OpenGL相关的库

    • OpenGL library(核心库)
      函数前缀gl
      库文件gl.h、opengl32.lib、opengl32.dll
    • OpenGL utility library(实用程序库)
      函数前缀glu
      库文件glu.h,glu.lib,glu.dll
    • 辅助工具库(glut、freeglut、glew)
      功能主要有:
      • 执行与窗口相关的功能
      • 鼠标、键盘交互
      • 高级建模命令

    OpenGL基本语法

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    程序流程

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    变换(Transformation)

    变换的步骤

    在这里插入图片描述

    几何变换

    1. 平移(Translation)
      glTranslate*()
      
    2. 缩放(Scaling)
      glScale*()
      
    3. 旋转(Rotation)
      glRotate*()
      

    在这里插入图片描述

    投影变换

    在这里插入图片描述
    在这里插入图片描述

    视口变换

    在这里插入图片描述
    在这里插入图片描述

    光照

    光照明模型

    在这里插入图片描述

    phong模型

    在这里插入图片描述

    • 环境光
      在这里插入图片描述
    • 漫射光
      在这里插入图片描述
    • 镜面反射光
      在这里插入图片描述
      在这里插入图片描述

    Blinn-Phong光照模型

    • 改进了镜面反射光的计算
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    openg中的光照明模型

    在这里插入图片描述
    本质上还是blinn模型

    参考资料

    中国大学MOOC-图形编程技术

    更多相关内容
  • C++大作业三维图形程序设计源码.C++大作业三维图形程序设计源码.C++大作业三维图形程序设计源码.C++大作业三维图形程序设计源码.C++大作业三维图形程序设计源码.C++大作业三维图形程序设计源码.C++大作业三维图形...
  • 目 录 前 言 1 实验一 C 语言图形程序设计 2 实验二 二维基本图形生成的算法实现 3 实验三 BEZIER 曲线的生成算法实现11 实验四 二维图形的基本几何变换 12 实验五 二维图形的裁剪 13 实验六 OPENGL 实验17 实验七 ...
  • GDI+图形程序设计.7z

    2019-07-22 11:33:56
    GDI+图形程序设计》GDI+是新一代的图形...《GDI+图形程序设计》是一本为.NET开发人员讲授如何编写Windows和Web图形应用程序的专著,书中全面介绍了GDI+和Windows图形程序设计的基本知识和GDI+图形程序设计的各个方面。
  • 《GDI+图形程序设计》GDI+是新一代的...《GDI+图形程序设计》是一本为.NET开发人员讲授如何编写Windows和Web图形应用程序的专著,书中全面介绍了GDI+和Windows图形程序设计的基本知识和GDI+图形程序设计的各个方面。
  • GDI+图形程序设计, 中文版, 【美】Mahesh Chand 著
  • VC++图形设计基础教程,讲的比较详细,初学者适用。
  • OpenGL图形程序设计与应用环境,高清电子书,高清电子书签。OpenGL图形程序设计与应用环境,高清电子书,高清电子书签。
  • 知乎上轮子哥推荐的书籍,网上好不容易找到,一起分享
  • OpenGL三维图形程序设计,高清电子书,高清电子书签。OpenGL三维图形程序设计,高清电子书,高清电子书签。
  • OpenGL图形程序设计指南pdf,OpenGL图形程序设计指南pdf,OpenGL图形程序设计指南pdf,
  • C# GDI+图形程序设计》随书源码完整版 加电子书 2 总共2个压缩包,这是第2个,需要下载2个压缩包,才可以解压,因为一次最多可以上传70MB,所以分2次上传了,给你带来不便,望谅解!
  • VB程序设计图形程序设计PPT课件.pptx
  • C与C++高级图形程序设计完整版

    千次下载 热门讨论 2011-12-01 17:23:56
    C与C++高级图形程序设计完整版 内容摘要: 附录与关键词: 计算机图形学 程序设计 程序设计 计算机图形学 全文目录 目录 为什么要阅读本书 前言 第一章 数学模块 鸣谢 第一部 分通用程序 第二章 图形界面模块 第三章 ...
  • VB程序设计图形程序设计PPT学习教案.pptx
  • 计算机图形学 Computer Graphics 第二章 C语言图形程序设计 Computer Graphics 计算机图形的生成一般包括两种方法交互绘图和程序绘图 所谓交互绘图则是应用交互式软件通过交互命令键盘命令菜单命令等由计算机生成...
  • 图形程序设计课件 .zip,图形程序设计-李祥-38611,图形程序设计教材示例源代码.doc,9.ppt,7.ppt,8.ppt,6.ppt,3.ppt,1.ppt,5.ppt,示例源代码.doc,4.ppt,2.ppt
  • opengl计算机三维图形程序设计三维程序设计-opengl.ppt
  • C语言图形程序设计基础.ppt
  • 本书详细介绍了新一代三维图形开发程序库——OpenGL的编程要点,包括基本函数的使用、变换、光照处理、雾化等特殊效果、纹理映射和动画制作等内容。 书中以丰富的程序实例剖析了OpenGL开发特点,并对三维图形的制作...
  • VBNET图形程序设计PPT课件.pptx
  • 测绘程序实验报告六:图形程序设计.pdf
  • 图形程序设计PPT学习教案.pptx
  • VBNET图形程序设计学习教案.pptx
  • C语言图形程序设计基础PPT课件.pptx
  • C图形程序设计基础实用PPT课件.pptx
  • 2020Java图形程序设计.ppt
  • opengl计算机三维图形程序设计纹理.pptx
  • 图形程序设计

    2012-01-04 20:17:17
    Visual.Cpp图形程序设计
  • VC++图形程序设计基础

    2013-04-03 21:52:52
    基础例程,图形,数值可视化输出。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 360,276
精华内容 144,110
关键字:

图形程序设计

友情链接: 680518.rar