首页 > 其他分享 >【游戏开发基础知识】渲染篇

【游戏开发基础知识】渲染篇

时间:2022-08-14 20:01:19浏览次数:109  
标签:贴图 法线 颜色 游戏 裁切 渲染 模型 基础知识

什么是渲染管线?如何绘制3D物体?

https://www.bilibili.com/video/BV1qY4y1V79z/?spm_id_from=333.788&vd_source=61ce3b4e97cb6ce7f80ca3f58607b5fb

1、前期CPU需要为GPU准备的东西

比如一个正方体的3D模型,都是点组成 Vertex Buffer(顶点缓存)

Index Buffer,根据点的下标绘制三角形

摄像机的数据:位置,方向,FOV,

摄像机不能看的无限远和非常近:近平面(NearClipPlane),远平面(FarClipPlane)裁切、被裁切下来的地方:视锥(Frustum)

灯光数据:方向、颜色、强度等参数

材质球:Shader

准备好数据后交给GPU

2、GPU处理

顶点处理、顶点着色器 :把顶点装换到我们的裁切空间(Clip Space);将模型的顶点变换到世界空间(World Space)、摄像机空间(View Space)、裁切空间(Clip Space)

连接三角形,把三角形投影到我们的屏幕上

光栅化:把三角形变成屏幕上对应的像素,遍历完所有的像素后

像素着色器:可以根据灯光做出明暗变化的效果、根据贴图坐标采样贴图

后处理

什么是Shader

Shader是一堆代码,决定计算机如何渲染我们的模型,跟所有的编译型语言一样,都是要先编译成一个二进制的文件,才能被计算机使用

Shader的语言统称着色器语言(ShaderLanguage)

两种风格:PBR基于物理的渲染、ToonShading风格化渲染

法线贴图Normal Map

概念

笔记:法线的本质是xyz三轴向量,只是为了可读性,借用了RGB的外皮。相较于静态贴图,法线贴图的优势在于可以与光影产生互动。通过法线贴图,相当于把一个复杂模型平面化了,用贴图替换模型演算,减少计算量。

对颜色做一个简单的映射,坐标轴中X * 0.5 + 0.5就可以表示颜色的RGB了

把法线信息变成颜色,然后把模型凸起的部分给弄回去,这时候模型的法线都是全部朝上的效果,但是我们这个时候不用模型表面的朝向了,而是用模型表面的颜色来跟灯光进行计算,颜色的三个通道,刚好能表示xyz,所以也能表示模型表面的朝向,即使我们现在的模型是一个平面,但是还是能有光影效果,并且随着灯光的转动,也会有一定的立体感

tip:透视效果就需要置换贴图了

法线贴图的存放

把法线朝向的信息变成颜色,想办法变成一张贴图,把这些原始的信息映射到0~1,而这个贴图也就是法线贴图

法线贴图根据API有所不同:G也就是绿通道是相反的,OpenG跟DirectX它们期望的第一个像素有所不同

其实我们真正看到的法线贴图的颜色,饱和度会更高一点,这是因为色彩空间的关系

标签:贴图,法线,颜色,游戏,裁切,渲染,模型,基础知识
From: https://www.cnblogs.com/hellogiao1/p/16586164.html

相关文章

  • Solution -「NOI 2017」「洛谷 P3825」游戏
    \(\mathscr{Description}\)  Link.  给大家看个乐子:link,懒得概括题意啦.\(\mathscr{Solution}\)  对于没有X的情况,显然可以2-SAT;对于有X的情况,暴......
  • 数字电路基础知识
    原文:https://www.cnblogs.com/xianyufpga/p/13641879.html1、逻辑函数的表示方法常用的逻辑函数表示方法有逻辑真值表,逻辑函数式,逻辑图,波形图,卡诺图和硬件描述语言等。......
  • 汪子熙趣味成语接龙的游戏软件设计架构说明
    @目录背景战士阿短编程猫纸片初始化函数当开始被点击当收到广播“转盘停止”当收到广播“开始接龙”本作品采用Kitten编程猫v3.7.11开发而成。工程里主要包含一个背景......
  • 趣味成语接龙游戏里,如何判断用户输入的成语接龙成功?
    本文给出了一种解决方案,采用如下的kitten积木组合块实现。根据变量“检查接龙的返回值”,分别执行相应的逻辑。如果返回值为-1,说明用户输入的词语长度不为4.如果返回......
  • 汪子熙趣味成语接龙游戏的设计初衷
    我国的汉语博大精深,其中数以万计的四字成语更是汉语中一颗颗璀璨的明珠,凝聚着中华民族几千年文明的精华。从小接触这些成语,对于小学生积累语汇,提高文学素养,和学习文言文方......
  • 使用 Kitten 开发一款趣味成语接龙游戏
    每一轮接龙成功后,初始接龙和成功接龙的成语,都会显示在作品的接龙记录里,便于使用者学习和记忆。通过积分的方式,能激励用户开动脑筋,努力完成接龙。本作品极具智能和体贴性,如......
  • 汪子熙趣味接龙游戏实现里原创部分的亮点
    本作品使用Kitten编程猫这个具有国内自主知识产权的工具开发而成,工程里每一个积木的使用都是作者和原创。最值得一提的原创部分罗列如下:使用列表的数据结构来存储将近2......
  • 汪子熙趣味接龙游戏实现的参考资源
    参考资源(参考或引用他人资源及出处)本作品未引用或者复制其他kitten作品的工程文件或者源代码,只参考了Kitten编程猫源码编辑工具自带的帮助文档。该文档的入口:在编辑器右......
  • 汪子熙趣味成语接龙的游戏软件使用文档说明
    @目录趣味成语接龙使用手册如何在安卓手机上安装本应用趣味成语接龙使用手册作者提交的参赛作品是一个压缩包,里面包含的资源如下图所示。本手册以windows平台的.exe执......
  • 再探 游戏 《 2048 》 —— AI方法—— 缘起、缘灭(6) ——《Temporal Difference Learn
    《2048》游戏在线试玩地址:https://play2048.co/  如何解决《2048》游戏源于外网的一个讨论帖子,而这个帖子则是讨论如何解决该游戏的最早开始,可谓是“缘起”:Whatis......