UnityShader
着色器学习
傻子是小傲娇
acmer,摄影、钢琴、吉他爱好者
展开
-
uv动画shader
【代码】uv动画原创 2023-03-14 17:22:38 · 263 阅读 · 0 评论 -
渲染管线笔记
什么是渲染?电脑绘图中,是指以软件由模型生成图像的过程数据与资源 -- 渲染管线 -- Rander Target。原创 2023-03-13 11:24:43 · 326 阅读 · 0 评论 -
Unity Shader学习------GPU渲染流水线详解
GPU流水线即渲染流水线中的几何阶段和光栅化阶段绿色---完全可编程控制黄色---可配置不可编程蓝色---GPU固定实现GPU渲染流水线接受顶点数据作为输入。这些数据是应用阶段加载到显存中,再由DC指定的几何阶段:顶点着色器(Vertex Shader)完全可编程:用于实现顶点的空间变换,顶点着色等功能流水线第一阶段,输入来自于CPU。顶点着色器的处理单位是顶点,...原创 2020-03-17 21:39:17 · 490 阅读 · 0 评论 -
渲染流水线--应用阶段详解
工作任务:由一个三维场景出发,渲染一张二维图像计算机从一系列的顶点数据,纹理等信息出发,把这些信息最终转换成一张人眼可见的图像。由C、GPU共同完成分为下面三个阶段:应用阶段(CPU):应用主导,开发者在此阶段有绝对控制权此阶段开发者的三个主要任务:(1)准备场景数据摄像机位置、视锥体、场景包含的模型。使用的光源(2)剔除工作(3)设置每个模型的渲染状态...原创 2020-03-13 14:26:52 · 452 阅读 · 0 评论 -
Unity Shader------实现纹理贴图
将纹理映射到图形上,需要指定每个顶点各自对应纹理的哪个部分,即每个顶点关联一个对应的纹理坐标(Texture Coordinate)来标注从纹理图形的哪个部分采样。使用纹理坐标获取纹理颜色叫做采样。使用纹理颜色代替漫反射颜色来实现纹理贴图。同时给纹理添加偏移和缩放:Offset 控制贴图在x,y方向上的偏移Tiling 控制贴图在x,y方向上的缩放Shader "Cu...原创 2020-01-26 22:39:47 · 1049 阅读 · 0 评论 -
Unity Shader------Blinn-Phong光照模型
之前实现的高光反射采用的是Blinn光照模型Blinn光照模型:Specular=直射光 * pow(max (cosx,0),光照系数)x为反射光和视野方向的夹角更为常用的是Blinn-Phong光照模型Blinn-Phong光照模型:公式同上,x变为法线 和 平行光与视野方向的平分线 的夹角Shader "Custom/Shader04"{ Properties{...原创 2020-01-26 10:14:56 · 307 阅读 · 0 评论 -
Unity Shader------Specular(高光反射)计算
高光反射公式:Specular= 直射光颜色 * pow(max(dot(当前点的反射光方向,当前点到摄像机的方向),0),高光反射参数)逐顶点高光反射:// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'// Upgrade NOTE: replaced 'mul(UNITY_MATRI...原创 2020-01-05 19:13:40 · 2256 阅读 · 0 评论 -
Unity Shader------漫反射(Diffuse)计算
光照模型:一个公式,用来计算在某个点的光照效果标准光照模型下进入摄像机的光:自发光高光反射漫反射(Diffuse): 直射光颜色 * max(0,cos(光和法线的夹角))Shader "Custom/Shader01"{ SubShader{ Pass{ //定义LightMode以得到unity的内置光照变量 Tags{"LightMode"="For...原创 2019-12-29 23:36:27 · 2380 阅读 · 3 评论 -
Unity Shader------顶点函数和片元函数
顶点和片元函数实现一个白色的效果Shader "Custom/Shader01"{ SubShader{ Pass{ CGPROGRAM // 声明了顶点函数的函数名 #pragma vertex vert //声明了片元函数的函数名 #pragma fragment frag //顶点函数(系统调用) ...原创 2019-12-29 14:16:59 · 787 阅读 · 0 评论 -
Unity Shader------入门
在场景照片中新建一个3D物体,可以看到物体上都会有Mesh Filter 和 Mesh Render,首先要明白这几个是什么意思Mesh:模型的网格,模型由三角面构成,一个模型中三角形的点面集合就是MeshMesh由顶点坐标数组、顶点在uv坐标系中的位置信息数组,三角形顶点顺时针或者逆时针索引数组、MeshFiler组件MeshRender组件、可能还需要每个顶点的法线的数组等组成M...原创 2019-12-28 23:39:33 · 235 阅读 · 0 评论