发表于2024-11-24
GLSL渲染编程基础与实例(C#版本) pdf epub mobi txt 电子书 下载
本书介绍了用GLSL语言进行三维渲染的方法,以及用大量的实例来展示如何进行GLSL编程。本书详细讲述了GLSL渲染流程; GLSL着色器编程;顶点光照;像素光照;卡通渲染、影线渲染、分形渲染、Gooch渲染等非真实感渲染的实现;三维噪声的生成,以及噪声在云彩、木头纹理、大理石等渲染特效中的应用;棋盘、砖墙、Toyball等基于过程的渲染特效的实现;各种特殊光照效果渲染实现;通过GLSL进行图像处理的算法及实现。本书的特点是以各种渲染实例为核心,通过本书的学习,可以快速掌握GLSL语言的编程。
赵辉老师,清华大学丘成桐数学科学中心访问教授,哈佛大学计算机系访问学者。国内**三维技术专家,世界著名华人科学家丘成桐教授的团队成员。 二十年三维技术、虚拟现实科学研究和开发经验。具有多年企业界和学术界工作经验。带领团队开发了在国内影响深远三维模型处理开源软件MeshDGP。出版了《计算机图形学-三维建模初步》等一系列三维技术教材和专著,这一系列教材给国内的三维虚拟现实开发提供了学生学习的基础。前几年安卓刚起步时候和谷歌合作,指导学生团队进行安卓开发,其中指导的学生之一进行手机定制桌面APP创业,下载量一个亿,融资D轮。赵辉老师和马云老师一样,对学生充满热情,在过去六年里培养了数百名上千名三维技术虚拟现实领域的学生。带领了很多三维开发团队。
第1章GPU与图形应用编程介绍
1.1GPU发展史与Shader
1.2GLSL Shader编程在图形设计中的作用
1.3游戏引擎的发展
1.4游戏引擎中的Shader编程
1.5Vulkan介绍
第2章GLSL语言
2.1变量
2.2结构体
2.3修饰符
2.4内置变量
2.5操作符和构造函数
2.6内置函数
第3章GLSL框架设计
3.1加载和编译
3.2程序架构
3.3着色器简介
3.4数据传递
第4章渲染光照
4.1没有光照
4.2扁平渲染
4.3最简单光照
4.4逐顶点光照
4.4.1光照模型
4.4.2参数和步骤
4.4.3代码和效果
4.5逐像素光照
4.6其他光源类型
4.6.1点光源
4.6.2聚光灯
4.6.3双面光照
4.7纹理贴图
第5章非真实感渲染
5.1卡通渲染
5.2影线渲染
5.3Gooch渲染
5.4波尔卡圆点渲染
5.5分形渲染
第6章变形特效
6.1球形变形特效
6.2鱼眼特效
第7章噪声渲染
7.1柏林噪声
7.2自然材质渲染
第8章基于过程渲染
8.1条纹渲染
8.2砖墙渲染效果
8.3棋盘渲染
8.4ToyBall渲染
8.5网格渲染
第9章光照
9.1半球光照
9.2球形调和光照
第10章图像处理
10.1概述
10.2亮度、对比度和饱和度
10.3颜色空间转换
10.3.1介绍
10.3.2RGB和CMY相互转换
10.3.3RGB和CIE相互转换
10.4图像混合
10.5邻域平滑
10.6高斯平滑
10.7边缘检测
10.8锐化
参考资料
序
2015年以来,虚拟现实技术的应用在国际国内发展很快。教育、医疗、娱乐、影视、游戏、安全、交通等各行各业都对虚拟现实技术进行了大量的应用。虚拟现实技术的基础和核心是三维计算机图形学,分为四大模块:建模、渲染、动画、交互。目前国内大量的虚拟现实应用都局限于在西方开发的虚拟现实引擎的技术上进行开发的上层应用。 我们这套丛书着重底层核心技术的讲解。三维计算机图形学在知识结构上来说需要数学、物理、工程、计算机编程、艺术五个方面。设计建模、渲染等算法需要微分几何、线性代数、概率统计等数学知识的理解和掌握; 动画模拟需要流体、刚体等物理知识的理解和掌握; 把这些数学、物理理论变为程序需要极强的编码能力,也就是从理论到实践的工程能力; 三维图形学的最终表现形式是视觉上可看得到的,因此也需要良好的艺术修养和审美。虚拟现实和它所依赖的三维计算机图形学特别适合锻炼并能够融会贯通学生的数学、物理、工程、编程和艺术能力。三维计算机图形学是一个跨学科的领域, 三维图形学处理的是三维模型数据,学生在这个领域中学到的数学建模、工程等能力,也可以用到其他行业,如人工智能等,对其他行业的大数据进行分析和处理。
2008年以来,全国各个高等院校纷纷在各自软件工程学科专业的基础上开设了数字媒体技术专业。数字媒体技术专业和计算机科学专业的区别是,前者主要是着重学习二维图像和三维图形相关的算法和应用开发,而后者还需要学习其他计算机科学相关的知识。由于开设和建立时间短,各学校的数字媒体技术专业的教学工作都还处在摸索阶段,也没有形成统一、成熟的教材体系。根据在数字媒体技术专业多年的教学实践经验,我们总结出本专业要以计算机三维图形学的理论和算法为基础,以三维应用开发为导向进行建设。
根据多年一线教学经验与反馈,以及当前的三维图形学研究成果,我们编写了本套丛书。本套丛书涵盖了三维图形学算法的三个方面:建模、动画和渲染。内容根据数字媒体技术专业的教学特点分散到5本计算机图形学系列书中。 通过本系列专业基础教材,再加上已有的成熟的计算机基础编程教材,以及三维软件使用的教材,就可以完整地覆盖数字媒体技术专业的所有课程。
书里的代码采用C#编程语言。C#编程语言是一种结合了C++和Java优点的编程语言。C#语言相对于其他编程语言来说比较容易学习和掌握,但是本套丛书里讲述的原理和算法不仅限于C#语言。读者可以通过示例中的代码,采用自己熟悉的编程语言来进行编程。本套丛书包含了很多计算机图形学会议Siggraph论文里最新的、核心的、关键突破和进展的图形学算法讲解、实现和分析。
前言
虚拟现实应用离不开逼真的渲染。渲染分为实时渲染和非实时渲染两大类。在影视特效中,常用到的是非实时渲染。而在游戏等应用中,需要能够实时显示的渲染技术。非实时的渲染通过对光照进行物理模拟,从而达到和相机拍摄无法区分的效果。但由于要进行光线追踪等计算,这种算法耗时很长。而实时渲染由于对物理光照进行了大量的简化,从而可以很快速地进行计算。
在GPU上进行实时渲染,是目前成熟的解决方案。需要用特定的编程语言来对GPU进行编程,从而使GPU能执行设计好的光照公式。对于不同的光照程序,可以得到不同的渲染效果。如果只用OpenGL进行渲染,那么就受限于OpenGL内置的渲染效果。GPU渲染是三维游戏、虚拟现实场景等应用中一个最重要的核心模块。本书提供了GPU编程的基础、代码和实例。
本书介绍了用GLSL语言进行三维渲染的方法,以及用大量的实例来展示如何进行GLSL编程。本书详细讲述了GLSL渲染流程;GLSL着色器编程;顶点光照;像素光照;卡通渲染、影线渲染、分形渲染、Gooch渲染等非真实感渲染的实现;三维噪声的生成,以及噪声在云彩、木头纹理、大理石等渲染特效中的应用;棋盘、砖墙、Toyball等基于过程的渲染特效的实现;各种特殊光照效果渲染的实现;通过GLSL进行图像处理的算法及实现。本书的特点是以各种渲染实例为核心,通过学习本书的内容,可以快速掌握GLSL语言的编程。
本书不仅可以作为数字媒体技术专业的专业基础课,还可以作为计算机学科和软件工程学科“数据结构和算法”、“计算机图形学”等课程的教材和参考书。
GLSL渲染编程基础与实例(C#版本) pdf epub mobi txt 电子书 下载