![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity
Li__F
CSDN的博客不定期维护,移步博客园(ID:Li_F)或github(https://kaorizh.github.io/)
展开
-
0.1:Why are We Addicted to Games
文章著作权归作者所有。转载请联系作者,并在文中注明出处,给出原文链接。本系列原更新于作者的github博客,CSDN这边的更新速度可能会慢于github。这里给出链接。Why are We Addicted to Games前言引言游戏渲染又有何不同?最后)前言本系列仅用于记录并分享自己的学习过程,以及学习过程中遇到的问题,如有错漏,欢迎讨论。(第0章是Shader系列的引导部分,已经有计...原创 2019-04-03 10:53:46 · 281 阅读 · 0 评论 -
1.5:Unity Render Pipeline
这一节主要是为上一节中没有提到的一些概念作补充。上一节提到了Unity中渲染路径的概念,为了更好地理解并使用Unity,我们有必要了解有关渲染路径的详细信息。Unity Render PipelineUnity作为引擎,为我们处理了许多渲染有关的行为细节,最终留下了Built-in Renderer(内置渲染),以及配置度更高的SRP(Scriptable Render Pipeline,可...原创 2019-04-19 22:22:53 · 778 阅读 · 0 评论 -
1.4:SubShader
目录什么是SubShaderSubShader包含了什么TagsCommonStatePassPass的种类Regular PassNameTagsRenderSetupUsePassGrabPass在了解了渲染流水线之后,我们可以开始SubShader的学习了。什么是SubShader我们在1.1节中提到:SubShader:SubShader是Shader代码的核心部分。由于运行终端...原创 2019-04-19 22:21:53 · 222 阅读 · 0 评论 -
Extra:Variable Types
在我们使用Cg或者HLSL进行shader编写的过程中,常常涉及到一些变量类型的使用,其中数字类型有三种最基础的变量类型:float,half,fixed,由此延伸出的还有向量类型以及矩阵类型,如:float3,half4x4。虽然都是表示数字,但它们之间的差别还是应该清楚,而不是遇到数据就无脑地使用float。float: high precision floating point. Gen...原创 2019-05-04 10:45:51 · 102 阅读 · 0 评论 -
2.1:CGPROGRAM
前言经过前面两个章节的铺垫,我们对渲染以及Unity Shaderlab相关的知识已经有了大概的认识,接下来将要学习的就是Shader最重要的部分,SL(Shader Language),着色器语言。目前主流的着色器语言有HLSL,GLSL,Cg。三者在语法上也有诸多共通之处,选择一种学习即可。而在Unity中,主流是选择Cg作为着色器语言。在Shader编写的过程中,我们会经常穿梭在各个空间中...原创 2019-05-03 21:53:33 · 696 阅读 · 0 评论 -
1.3:Render Pipeline and GPU Pipeline
Render Pipeline and GPU Pipeline什么是流水线渲染流水线是怎样运作的应用阶段几何阶段光栅化阶段CPU和GPU之间的通信GPU流水线Vertex Shader(顶点着色器)Tessellation Shader(曲面细分着色器)& Geometry Shader(几何着色器)Clipping(裁剪)Screen Mapping(屏幕映射)Triangle Set...原创 2019-04-03 11:07:03 · 280 阅读 · 0 评论 -
1.2:Properties
本系列原更新于作者的github博客,CSDN这边的更新速度可能会慢于github。这里给出链接。Properties如何声明Properties常规属性Texture(纹理)对于 2D Texture(2维纹理)对于Non 2D Texture (非2维纹理,如:Cube, 3D, 2DArray)Attributes(属性)Properties怎样提供给ShaderProperties和Sh...原创 2019-04-03 11:04:14 · 224 阅读 · 0 评论 -
1.1:Get Started with Unity Shaders
本系列原更新于作者的github博客,CSDN这边的更新速度可能会慢于github。这里给出链接。Get Started with Unity Shaders什么是Shader第一个Shader最后第1章开始正式进入Unity Shader的学习。什么是Shader本系列约定,如无特殊说明,文中出现的Shader均基于Unity Shaderlab每一门编程语言的诞生都是为了方便人们和计...原创 2019-04-03 11:02:00 · 89 阅读 · 0 评论 -
0.3:Before We Start
本系列原更新于作者的github博客,CSDN这边的更新速度可能会慢于github。这里给出链接。Before We Start需要做的准备需要做的准备首先肯定是需要安装Unity,我这里选择的版本是Unity version :2018.3.7f1。学习任何事物都离不开趁手的工具,Shader也不例外。我们可以选择Sublime Text,JB Rider Free For Student...原创 2019-04-03 11:00:23 · 144 阅读 · 0 评论 -
0.2:Game and Art
本系列原更新于作者的github博客,CSDN这边的更新速度可能会慢于github。这里给出链接。Game and Art游戏是如何被开发的游戏中的美术最后通过上一节的学习,我们对游戏美术和游戏开发已经有了比较基本的了解。那么,该如何开发一款游戏呢。游戏是如何被开发的世界上第一款游戏《SpaceWar》是在一台小型计算机上运行的,在当时,只需要编写少量的代码即可写出一款游戏。尽管如此,游戏...原创 2019-04-03 10:58:14 · 80 阅读 · 0 评论 -
Extra:Cg Math Functions
目录常用[Cg函数](https://developer.download.nvidia.cn/cg/index_stdlib.html)数学函数光照函数纹理采样函数常用Cg函数数学函数abs(x):绝对值// float类型的实现float abs(float x) { return max(-a, a);}sin(x):正弦,输入为弧度// float类型的实现fl...原创 2019-05-04 20:42:00 · 104 阅读 · 0 评论