书签 分享 收藏 举报 版权申诉 / 64
上传文档赚钱

类型3D游戏引擎高端实战培训课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:4442197
  • 上传时间:2022-12-10
  • 格式:PPTX
  • 页数:64
  • 大小:2.80MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《3D游戏引擎高端实战培训课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    游戏 引擎 高端 实战 培训 课件
    资源描述:

    1、3D游戏引擎高端实战培训第一课:3D引擎介绍什么是3D引擎?3D引擎能做哪些事情?第一课:3D引擎介绍商业引擎开源引擎自研引擎UE4、CryEngine、BigWorld、Torque、UnityOgre引擎第一课:3D引擎介绍第一课:3D引擎介绍第一课:3D引擎介绍第一课:3D引擎介绍第一课:3D引擎介绍第一章:3D引擎知识介绍具备哪些能力?C+,图形库,GPU编程第二课:C+C+封装C+特性:继承,封装,多态C+语言基础视频 csdn视频课程动态库和静态库第二课:C+库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存

    2、在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。所谓静态、动态是指链接。第二课:C+C+编译过程第二课:C+C+静态库【静态库】,是因为在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中。因此对应的链接方式称为静态链接。第二课:C+静态库特点1、静态库对函数库的链接是放在编译时期完成的。2、程序在运行时与函数库再无瓜葛,移植方便。3、浪费空间和资源,因为所有相关的目标文件与牵涉到的函数库 被链接合成一个可执行文件。第二课:C+举例如下:第二课:C+举例如下:第二课:C

    3、+举例如下:第二课:C+使用如下:第二课:C+使用如下:第二课:C+静态库总结空间浪费是静态库的一个问题。另一个问题是静态库对程序的更新、部署和发布页会带来麻烦。如果静态库liba.lib更新了,所以使用它的应用程序都需要重新编译、发布给用户(对于玩家来说,可能是一个很小的改动,却导致整个程序重新下载,全量更新)。第二课:C+静态库第二课:C+动态库动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入。不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例,规避了空间浪费问题。动态库在程序运行是才被载入,也解决了静态库对程序的更新、部署和发布页会带来麻烦。用户只

    4、需要更新动态库即可,增量更新。第二课:C+动态库第二课:C+动态库特点动态库特点总结:l 动态库把对一些库函数的链接载入推迟到程序运行的时期。l 可以实现进程之间的资源共享。(因此动态库也称为共享库)l 将一些程序升级变得简单。l 甚至可以真正做到链接载入完全由程序员在程序代码中控制(显示调用)。第二课:C+动态库使用第二课:C+动态库使用第二课:C+动态库使用第二课:C+动态库使用第二课:C+动态库使用第二课:C+动态库使用第二课:C+问题:这里可能大家有个疑问,动态库怎么还有一个DynamicLibrary.lib文件?即无论是静态链接库还是动态链接库,最后都有lib文件,那么两者区别是什

    5、么呢?其实,两个是完全不一样的东西第二课:C+StaticLibrary.lib的大小为190KB,DynamicLibrary.lib的大小为3KB,静态库对应的lib文件叫静态库,动态库对应的lib文件叫【导入库】。实际上静态库本身就包含了实际执行代码、符号表等等,而对于导入库而言,其实际的执行代码位于动态库中,导入库只包含了地址符号表等,确保程序找到对应函数的一些基本地址信息。第二课:C+总结二者的不同点在于代码被载入的时刻不同。l 静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库,因此体积较大。l 动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入

    6、,因此在程序运行时还需要动态库存在,因此代码体积较小。动态库的好处是,不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例。带来好处的同时,也会有问题!如经典的DLL Hell问题,关于如何规避动态库管理问题,可以自行查找相关资料。第二课:C+总结二者的不同点在于代码被载入的时刻不同。l 静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库,因此体积较大。l 动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在,因此代码体积较小。动态库的好处是,不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的

    7、实例。带来好处的同时,也会有问题!如经典的DLL Hell问题,关于如何规避动态库管理问题,可以自行查找相关资料。第三课:图形库DirectXOpenGLOpenGLESGDI第三课:图形库DirectXDirectX(Direct eXtension,缩写:DX)是由微软公司创建的一系列专为多媒体以及游戏开发的应用程序接口。第三课:图形库DirectX组成的组件有:Direct3D:主要用于绘制3D图形。(3D graphics)Direct2D:DirectWrite:Xinput:XAudio2:DirectCompute:GPU通用计算API。DirectXMath:针对游戏优化的高速

    8、数学运算API,特别支持单精度浮点运算及矩阵运算,使用SSE2指令集。DirectSetup:用于DirectX组件的安装,以及检查DirectX的版本。DirectX Media:DirectShow可支持多媒体录音(multimedia playback)以及数据流媒体(en:streaming media),DirectX在网页上的转换,还有Direct3D可保留3D图像更清晰的解析。DirectX Media Objects:支持数据流对象,编码,解码第三课:图形库OpenGLOpenGL是一套应用程序编程接口(API),借助这个API我们开发人员就可以开发出对图形硬件具有访问的能力的

    9、程序。OpenGL函数库一般包含在两个库中,分别称为GL或GLU#include#include 第三课:图形库OpenGLESOpenGL ES(OpenGL for Embedded Systems)是 OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了OPENGL ESglBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。经过多年发展,现在主要有两个版本,OpenGL ES 1.x 针对固定管线硬件的,OpenGL ES 2

    10、.x 针对可编程管线硬件第三课:图形库GDIGDI是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。在Windows操作系统下,绝大多数具备图形界面的应用程序都离不开GDI,我们利用GDI所提供的众多函数就可以方便的在屏幕、打印机及其它输出设备上输出图形,文本等操作。第四课:矩阵矩阵运算第四课:矩阵矩阵运算第四课:向量向量运算第四课:向量向量运算第六课:GPU编程GPU介绍GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”。与CPU不同,GPU

    11、是专门为处理图形任务而产生的芯片。GPU 线程可以动态地衍生新线程,从而更好地适应数据流。通过最大程度地简化与 GPU 的往来通信,动态并行技术可以大大简化并行编程,让更多流行算法支持 GPU 加速,比如自适应网格加密、计算流体动力学,实时阴影等等。第六课:GPU编程GPU编程语言Shader language目前有3种主流语言:基于OpenGL的GLSL(OpenGL Shading Language,也称为GLslang)基于Direct3D的HLSL(High Level Shading Language)NVIDIA公司的Cg(C for Graphic)语言第六课:GPU编程CPU和

    12、GPU区别第六课:GPU编程CPU和GPU区别第二章:3D引擎基础知识讲座第一课:模型信息OBJ文件是一种文本文件第一课:模型信息顶点数据(Vertex data):v 几何体顶点(Geometric vertices)vt 贴图坐标点(Texture vertices)vn 顶点法线(Vertex normals)vp 参数空格顶点(Parameter space vertices)第一课:模型信息自由形态曲线(Free-form curve)/表面属性(surface attributes):deg 度(Degree)bmat 基础矩阵(Basis matrix)step 步尺寸(Step

    13、 size)cstype 曲线或表面类型(Curve or surface type)元素(Elements):p 点(Point)l 线(Line)f 面(Face)curv 曲线(Curve)curv2 2D曲线(2D curve)surf 表面(Surface)第一课:模型信息格式举例:v-0.58 0.84 0v 2.68 1.17 0v 2.84-2.03 0v-1.92-2.89 0f 1 2 3 4第一课:模型信息格式举例:v-0.58 0.84 0v 2.68 1.17 0v 2.84-2.03 0v-1.92-2.89 0f 1 2 3 4第一课:模型信息显示(Display

    14、)/渲染属性(render attributes):bevel 导角插值(Bevel interpolation)c_interp 颜色插值(Color interpolation)d_interp 溶解插值(Dissolve interpolation)lod 细节层次(Level of detail)usemtl 材质名称(Material name)mtllib 材质库(Material library)shadow_obj 投射阴影(Shadow casting)trace_obj 光线跟踪(Ray tracing)ctech 曲线近似技术(Curve approximation te

    15、chnique)stech 表面近似技术(Surface approximation technique)第一课:模型信息格式举例:v-0.58 0.84 0v 2.68 1.17 0v 2.84-2.03 0v-1.92-2.89 0f 1 2 3 4第一课:模型信息第二课:坐标系屏幕坐标视口坐标第二课:坐标系左手坐标系右手坐标系第三课:齐次坐标“齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。”F.S.Hill,JR。第三课:齐次坐标(1)从普通坐标转换成齐次坐标时 如果(x,y,z)是个点,则变为(x,y,z,1);如果(x

    16、,y,z)是个向量,则变为(x,y,z,0)(2)从齐次坐标转换成普通坐标时 如果是(x,y,z,1),则知道它是个点,变成(x,y,z);如果是(x,y,z,0),则知道它是个向量,仍然变成(x,y,z)第三课:齐次坐标对于平移T、旋转R、缩放S这3个最常见的仿射变换,平移变换只对于点才有意义,因为普通向量没有位置概念,只有大小和方向.第三课:齐次坐标对于一个普通坐标的点P=(Px,Py,Pz),有对应的一族齐次坐标(wPx,wPy,wPz,w),其中w不等于零。比如,P(1,4,7)的齐次坐标有(1,4,7,1)、(2,8,14,2)、(-0.1,-0.4,-0.7,-0.1)等等。因此,如果把一个点从普通坐标变成齐次坐标,给x,y,z乘上同一个非零数w,然后增加第4个分量w;如果把一个齐次坐标转换成普通坐标,把前三个坐标同时除以第4个坐标,然后去掉第4个分量。由于齐次坐标使用了4个分量来表达3D概念,使得平移变换可以使用矩阵进行,从而如F.S.Hill,JR所说,仿射(线性)变换的进行更加方便。由于图形硬件已经普遍地支持齐次坐标与矩阵乘法,因此更加促进了齐次坐标使用,使得它似乎成为图形学中的一个标准。64Thank you!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:3D游戏引擎高端实战培训课件.pptx
    链接地址:https://www.163wenku.com/p-4442197.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库