Sen's blog

请使用 Ctrl + F5 刷新页面以获取最新博客内容

C++(1·内置指针、语句、右值引用)

内置指针 指针本质:通过间接指向和操作内存,提供了更灵活的操作能力 1级指针,2级指针:type** 指针的指针 指向: 对非常量指针可以指向:非常量左值,将亡值(通过右值引用间接) 对常量指针可以指向:非常量左值,常量左值,将亡值(通过右值引用间接) 常量指针可以指向:非常量左值 指向常量的常量指针可以指向:非常量左...

UnityShade入门精要(15·其他知识回顾)

其他知识回顾 渲染流水线 图形学使用比如openGL和写普通业务逻辑最大的不同在于,它在一个相对较高的抽象层次上操作——渲染流水线(而unity引擎又对渲染流水线做了更高的封装,让程序员只关心shader部分) 渲染流水线的任务在于根据抽象的3维场景生成一张2维图像,这个工作通常是由CPU和GPU共同完成的 Real-Time Rendering一书中将一个流水线分成3个阶段:应用阶...

UnityShade入门精要(14`基于物理的渲染)

基于物理的渲染 PBR光照模型 为了更加真实的渲染效果,使用基于物理的渲染技术 (Physically Based Rendering), 一个PBR光照模型,是否基于物理的,可以根据三个特性来判断:它是否满足能量守恒 (energy conservation)表面反射的不能超过入射的光能,微平面理论(表面实际是由许多人哏看不到的微面元组成的),基于物理的BRDF 光线从发光物发射出...

UnityShade入门精要(13`表面着色器)

表面着色器 SurfaceShader是在顶点/片元着色器之上又添加了一层抽象,开发者更容易理解的方式,我们只需要简单的指定,要填充的颜色,法线,光照模型等,其他的全部交给unity自动完成(例如生成真正的顶点/片元着色器) 其中CG代码片段必须直接写在SubShader中,一个表面着色器中最重要的部分是两个结构体以及它的编译指令。 两个结构体是表面着色器中不同函数(shader)之间...