Cocos2d-x 3.x 图形学渲染系列二

标签: cocos2d-x图形3d引擎游戏引擎gpu
1127人阅读 评论(3) 收藏 举报
分类:

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人,已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社 和《Unity3D实战核心技术详解》电子工业出版社 等。

现今,可编程流水线已经深深的在3D引擎上打下了烙印,目前市面上大部分3D引擎都是基于可编程流水线开发的,也就是用GPU编程开发。提到可编程流水线,就不得不提固定流水线,其实它们的目的是一样的,就是把游戏虚拟场景在屏幕上显示出来,只是它们中间的处理过程是不同的,固定流水线通过名字可以看出它是按照固定的流程绘制出物体的,详情可查看笔者已出版的书籍《手把手教你架构3D游戏引擎》电子工业出版社,在书里有对固定流水线的详细讲解,以及用固定流水线实现了一个比较弱小的3D游戏引擎。本章重点介绍的是可编程流水线,通过字面意思知道它是“可变”的流水线,意味着它的矩阵计算并不是在CPU中计算得到的而是通过GPU编程多线程实现的。下面结合着可编程流水线流程图,给读者介绍一下可编程流水线的原理,可编程流水线流程图如下1-1所示:


                                                                                                                                                图1-1可编程流水线流程图

     在图1-1中,茶壶模型是美术利用MAX工具建的模型,将模型的顶点传输到GPU中的顶点着色器中,进行矩阵变换,并且通过光栅化插值操作,将计算的结果传输到片段着色器中绘制,最终将其输出到手机屏幕上,这整个流程就是可编程流水线。关于矩阵的变换操作都是在顶点着色器中进行,为了帮助读者更好的理解可编程流水线,把固定流水线流程图给读者展示如1-2所示:


                                                                                                                    图1-2固定流水线

 

                  该图展示的是固定流水线,之所以成为固定,是因为模型在屏幕上显示的过程必须要经历这些固定的操作步骤,可变流水线就是把矩阵的换算放到GPU中进行了,从而把CPU解放出来,从而优化了运算效率。固定流水线可以参考笔者的极客头条-游戏核心之固定流水线算法

GPU(英文全称:Graphics Processing Unit)是嵌入在显卡的芯片处理器,是专门用于处理顶点着色器和片段着色器的,关于顶点着色器和片段着色器会在后面章节中讲解。以前电脑显卡没有GPU芯片时,大部分游戏都是基于2D游戏或者是像素游戏开发的,效果可想而知,随着硬件的飞速发展,显卡具有了自己的芯片处理器GPU,3D游戏引擎强大的渲染功能也随之发展起来,3D游戏中各种绚丽多彩的效果都是通过GPU编程实现出来的。比如玩家常说的次世代网络游戏渲染效果,充分利用了GPU的渲染功能,它非常适合对游戏的模型材质渲染和游戏的场景渲染,游戏场景的渲染是被称为后处理,这些效果包括:Bloom效果、Blur效果、SSAO效果、PSSM效果、HDR效果等。

     不论在PC端还是在移动端,都可以利用GPU编程渲染出好的效果,引擎中最能体现GPU强大功能的渲染效果,比如海水的反射、折射、高光效果,笔者在自己研发的项目中已实现过如图1-3所示。


既然本书是讲Cocos2D-x引擎的渲染,下面是笔者利用Cocos2D-x引擎中的3D渲染模块实现的模型材质渲染,模型的材质含有高光、法线、反射效果,如图1-4所示。



另外,利用Cocos2D-x引擎中的3D模块实现的高光、法线、环境映射效果如图1-5所示。


无论是利用商业还是开源3D游戏引擎,通过GPU编程都可以实现出比较绚丽的效果。GPU的渲染功能还是非常强大的,图1-4和图1-5实现的Shader渲染效果都会在后面章节中给读者介绍。


0
0

猜你在找
【视频】C语言及程序设计(讲师:贺利坚)
【视频】Python爬虫工程师培养课程全套(讲师:韦玮)
【视频】Python全栈开发入门与实战(讲师:李杰)
【视频】2017软考网络规划设计师套餐(讲师:任铄)
【视频】2017软考软件设计师套餐(讲师:任铄)
【视频】2017软考信息系统项目管理师套餐(讲师:任铄)
【视频】软考(高级)项目经理实战营(讲师:张传波)
【视频】微信公众平台开发套餐(讲师:刘运强)
深度学习原理+实战+算法+主流框架套餐(讲师:唐宇迪)
2017系统集成项目管理工程师通关套餐(讲师:徐朋)
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:191329次
    • 积分:3790
    • 等级:
    • 排名:第8283名
    • 原创:176篇
    • 转载:1篇
    • 译文:0篇
    • 评论:124条
    著作书籍
    《Unity3D实战核心技术详解》电子工业出版社 《手把手教你架构3D游戏引擎》电子工业出版社
    博客专栏
    最新评论