「游戏引擎浅入浅出」是一本开源电子书,PDF/随书代码/资源下载:​​https://github.com/ThisisGame/cpp-game-engine-book​​ 着色器就是Shader,Shader就是一段GPU程序源码。 我们大学就学过的C语言是CPU程序源码,Shader和C语言有很多相似之处,也要写代码、编译、链接。 通过下面的表格来做对照。 C语言 Shader 目标硬件 CPU GPU 编译流程 创建项目 创建GPU程序 创建编写多个C代码文件 创建编写Shader(顶点Shader和片段Shader) 把C代码发给编译器 把Sh...

  V5DYTGJv85fc   2023年11月02日   106   0   0

「游戏引擎浅入浅出」从零编写游戏引擎教程,是一本开源电子书,PDF/随书代码/资源下载: https://github.com/ThisisGame/cpp-game-engine-book 4.1UnityShader和OpenGLShader 上一节提到,OpenGLShader是配套出现的,VertexShader(顶点着色器)、FragmentShader(片段着色器/像素着色器),两者缺一不可。 但是我用了20年Unity都没有见过类似的代码,这是咋回事,Unity跳过OpenGL自己实现了图形库吗? 1.UnityShader类型 打开Unity,新建Shader。 在Unit...

  V5DYTGJv85fc   2023年11月02日   62   0   0

「游戏引擎浅入浅出」从零编写游戏引擎教程,是一本开源电子书,PDF/随书代码/资源下载: https://github.com/ThisisGame/cpp-game-engine-book 顶点着色器的功能就是:对输入的顶点坐标进行处理,然后再输出。 1.简单的顶点着色器 我们来写一个简单的,实现上面所说功能的顶点着色器。 version110 uniformmat4u_mvp; attributevec3a_pos; attributevec4a_color; varyingvec4v_color; voidmain() { gl_Position=u_mvpvec4(a_p...

  V5DYTGJv85fc   2023年11月02日   101   0   0

「游戏引擎浅入浅出」从零编写游戏引擎教程,是一本开源电子书,PDF/随书代码/资源下载: https://github.com/ThisisGame/cpp-game-engine-book 片段着色器(像素着色器)的功能就是:输出颜色。 在上一节(顶点着色器)里介绍了,顶点着色器是并行的,当我们需要绘制3个顶点,GPU将3个顶点数据,分摊到3个GPU逻辑单元并行处理,每个GPU逻辑单元同时执行顶点着色器程序。 片段着色器(像素着色器)也是并行的,不过执行的次数不是顶点个数,而是屏幕像素个数。 举例绘制一个960x540的长方形,每一个像素点的颜色,都是通过执行一次片段着色器来得到,那么...

  V5DYTGJv85fc   2023年11月02日   112   0   0
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~