图形学
YOLO_TO_GAME
Programmer/Artist. Unity/Unreal. GC
展开
-
Unity Shader 学习笔记(一)
第一张渲染流水线Real-Time Rendering 这本里对渲染流水线的划分主要分为三个阶段:应用阶段、几何阶段、光栅化阶段应用阶段是在CPU中运行,用于处理用户定义的3维空间的信息几何阶段在GPU中运行,用于用户定义的3维空间,并将其映射到屏幕空间中光栅化,将上一步的屏幕信息,转换成屏幕像素信息。CPU流水线:{应用阶段主要分为三个阶段: - 将数据加载到显存中 - 设置渲染状态 - 调用D...原创 2018-06-01 15:03:06 · 234 阅读 · 0 评论 -
ShaderLab基础语法
一、ShaderLab介Shader "主色器名称"{ Propertes{} //属性定义 SubShader{} //子主色器 SubShader{} //子主色器2 ………… FallBack "备用着色器名称" //如果所有子着色器不能运行,则使用备用着色器}1、properties属性定义用来定义主色器中使用的贴图资源或者数值参数等...原创 2018-08-07 17:23:51 · 543 阅读 · 0 评论 -
Unity顶点着色器和片段着色器
顶点着色器和片段着色器的处理流程:3d模型—>Vertex shader and flagment shader(—>vertex data inputs结构体—>vertex function—>Vertex shader outputs and fragment shader inputs结构体—>flagment function)—>color理解:...原创 2018-08-07 17:26:33 · 1253 阅读 · 0 评论 -
Unity 表面主色器组成及编译指令
内容简介surface shader 重组成部分:两个结构体以及编译指令一、两个结构体(Input和SurfaceOutput) 二、编译指令 三、渲染管线中的流程(两个结构体和四个函数)一、两个结构体(Input和SurfaceOutput)1、Input结构体(1)允许我们自定义(2)内置变量:a:float3 viewDir 定义视角方向b:float4 s...原创 2018-08-07 17:28:22 · 214 阅读 · 0 评论 -
Unity Shader (一)ShaderLab 语法
一、什么是Shader Shader(着色器):是可以在GPU上运行的一段程序,通过Shader可以进行一些渲染相关的设置。 二、什么是ShaderLab 目前面向GPU的编程有三种高级图像语言:HLSL语言,GLSL语言,Cg语言。HLSL语言:High Level Shading Language,由Microsoft公司提供,通过Direct3D图形软件库来编写的...原创 2018-08-07 17:49:51 · 395 阅读 · 0 评论 -
Unity Shader (二)Cg语言
一、Cg基本数据类型float 32位浮点数 half 16位浮点数 int 32位整型 fixed 12位定点数 bool 布尔数据 simpler* 纹理对象的句柄( the handle to a texture object ) ,分为 6 类: sampler, sampler1D, sampler2D, sampler3...原创 2018-08-07 17:51:00 · 2631 阅读 · 0 评论 -
Unity Shader (三)Surface Shader机制
一直以来,Unity Surface Shader背后的机制一直是初学者为之困惑的地方。Unity Surface Shader在Unity 3.0的时候被开放给公众使用,其宣传手段也是号称让所有人都可以轻松地写shader。但由于资料缺乏,很多人知其然不知其所以然,无法理解Unity Surface Shader在背后为我们做了哪些事情。 前几天一直被问到一个问题,为什么我的场景里没有灯...原创 2018-08-07 17:52:49 · 1506 阅读 · 0 评论 -
笔记一 ——Unity Shader概念篇
学习教材:《UnityShader入门精要》——冯乐乐部分计算图例为《UnityShader入门精要》书中截图代码和实例截图均为实际操作运行结果渲染流水线渲染流水线从概念部分分为三个部分:应用阶段应用阶段为开发者完全控制部分,主要提供渲染所需要的渲染数据,输出为渲染图元,该阶段可以细分为:加载渲染数据(HDD-->RAM-->VRAM) 设置渲染状态(决定场...原创 2018-09-03 09:18:42 · 334 阅读 · 0 评论 -
笔记二——相关数学基础篇
学习教材:《UnityShader入门精要》——冯乐乐部分计算图例为《UnityShader入门精要》书中截图代码和实例截图均为个人实际操作得到相关数学内容变换变换指将一些数据,例如,点,方向矢量甚至颜色,通过某种方式进行转换的过程。线性变换是非常常见的一种变化类型,满足矢量加和标量乘的变换即为线性变换,即:f(x)+f(y)=f(x+y)kf(x)=f(kx)缩放和...原创 2018-10-08 09:48:05 · 496 阅读 · 0 评论