自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 ASPNetCore 使用EF 为Identity 生成 Mysql 表时报错: Specified key was too long; max key length is 3072 bytes

出错的sql语句:CREATE TABLE `AspNetUserTokens` ( `UserId` varchar(767) NOT NULL, `LoginProvider` varchar(767) NOT NULL, `Name` varchar(767) NOT NULL, `Value` text NULL, PRIMARY KEY (`UserId`, `LoginProvider`, `Name`), CONSTRAINT `FK_Asp...

2021-04-02 22:33:33 776

翻译 可编程渲染管线12 图像质量

这是Unity可编程渲染管线的第十二章,在本章中,我们将通过调整渲染比例、应用MSAA 、HDR缓冲配合tone mapping等方式来提升画面质量。该教程基于Unity2018.4.6f1。1 渲染比例(Render Scale )相机的设置决定了渲染图像的高和宽,这一过程不在我们渲染管线的管理范围内。但是在渲染到相机的渲染目标前,我们可以对图像做任意的操作。也就是说我们可以创建...

2019-11-18 16:33:19 1953

翻译 可编程渲染管线11 后处理

这是Unity可编程渲染管线教程的第十一章。这一章我们将学习创建一个后处理栈。本教程基于Unity 2018.4.4f1。修改:我移除了在先前教程中使用的VPOS语义。如果你也使用了VPOS,建议把它换掉。1 后处理栈场景的渲染结束之后,我们还可以进一步修改图像。用来实现一些全屏特效,比如环境光遮蔽,bloom,color grading,景深等。通常来说多个后处理会按...

2019-08-26 11:25:29 2425

原创 噪声笔记#7 无缝噪声生成

最近想尝试体积云,需要用到3D的无缝噪声,所以学习了一下主要看到了两个思路一个是用利用圆的周期性在高一倍纬度的噪声中采样生成低纬度的无缝噪声比如在4d中采样2d无缝,在6d中采样3d无缝还有一种适用于那些基于网格位置得到随机值的噪声,只要让边界网格的随机值一样,结果自然是无缝的搜的一些资料:https://blog.csdn.net/yolon3000/article/deta...

2019-07-22 15:09:49 627 3

翻译 可编程渲染管线10 多细节层次(LOD)

原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/level-of-detail/设计两种类型的LOD组 LOD层次的淡入淡出 应用screen-space dithering 使用动态的 dither 图案 剔除无用的着色器变种这是Unity可编程渲染管线教程的第十章。添加对LOD组淡入淡...

2019-07-08 12:38:35 2522 1

原创 Shader记录——印刷风格

效果:思路:https://www.bilibili.com/video/av55864327贴图:Ps:这两张不是可以完美平铺的,如果可以最好用可平铺的纹理。代码:Shader "MyShader/ClipPainterShader"{ Properties { _Color("Color",Color)=(0,0,0,0) ...

2019-07-07 19:18:29 249

原创 Unity Gizmos 绘制扇形

线框扇形是用线条拼起来的,实心的扇形的是提前生成好mesh,然后用drawmesh。using UnityEngine;public static class GizmosTools{ /// <summary> /// 绘制半圆 /// </summary> public static void DrawWireSemi...

2019-06-18 22:04:33 3097 1

翻译 可编程渲染管线9 阴影烘焙

原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/baked-shadows/渐变的实时阴影 使用shadowmask和阴影探针 为每个物体使用至多四个烘焙阴影 常规的shadowmask和 distance shadowmask 支持subtractive模式.这是Unity可编程渲染管线...

2019-06-14 15:20:10 1259

原创 在Unity里使用光线步进(Raymarching)

图中光滑球为光线步进产生,粗糙球为Unity的场景物体概念光线步进和光线投射类似,都是从屏幕发射射线,然后求射线和物体的焦点,但是光线投射是一次性算出交点,而光线步进是一步步的前进,不断的向交点趋近,光线步近中的物体使用一种距离场函数来表示(SDF,Signed-distance-field 有向距离场)。通过这个函数你可以知道当前点的位置位置和物体的最近距离,如果距离趋向于0,就说...

2019-06-07 19:21:30 3309 1

原创 路径追踪03 相交性检测

三角形1:Ps:三角形可拓展至任意网格推导过程:射线: (O原点,D方向,t距离)三角形:(V123 顶点 uvw 重心坐标)求相交点等价于矩阵运算设V1-V0=E1 V2-V0=E2 O-V0=T根据克莱姆法则,三个值分别为整合在一起就是根据混合积公式设P=DxE2 Q=TxE1...

2019-05-22 19:09:48 477

原创 路径追踪笔记02

http://blog.three-eyed-games.com/2018/05/12/gpu-path-tracing-in-unity-part-2/上一章我们使用的光线追踪方法是递归式光线追踪(Whitted-style Ray Tracing),我们假设每次光线都是表面法线进行的完美反射,所以他可以很好的展现光滑物体表面的反射效果。但是现实生活着并不是所有物体都是非常光滑的,这种方...

2019-05-18 19:45:06 1683

原创 光线追踪笔记01

看到几篇文章,作者利用Compute Shader在Unity里实现光线追踪,这里记一下不好理解的地方和比较重要的知识点http://blog.three-eyed-games.com/2018/05/03/gpu-ray-tracing-in-unity-part-1/要注意的是这里Unity只是个实现的载体,和Unity原来的渲染管线基本没有关系了,只是使用OnRenderImage来...

2019-05-16 18:19:42 1341 4

翻译 可编程渲染管线8 全局光照

原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/global-illumination/烘焙和采样光照贴图 显示直射光 创建自发光材质 通过探针和LPPV采样光线 支持预计算的实时全局光照这是Unity可编程渲染管线系列教程的第八部分。我们不仅将支持静态的全局光照还会支持动态的全局光照。...

2019-05-07 21:14:59 2793 1

原创 Unity 大规模鱼群的渲染

看了GDC关于ABZU的演讲,感觉很受启发,决定在Unity中实现其中讲到的鱼群的渲染。1、用顶点动画代替骨骼节点首先是一个基础的shader,这里我写了一个支持主贴图和法线贴图的只有漫反射的shader 大概就是这样:Shader "FishTest/FishShader"{ Properties { _MainTex ("Texture", 2D) = "wh...

2019-05-03 20:33:49 2746

翻译 可编程渲染管线7 反射

原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/reflections/添加镜面高光 环境反射 支持非统一缩放 使用反射探针 透明度和反射度的结合这是Unity可编程渲染管线系列教程的第七章,本章将添加物体的反射,包括镜面高光和反射探针的采样。该教程基于Unity 2018.3.0f2...

2019-04-15 18:09:27 1200

原创 UnityShader-基于网格顶点的草丛

发现了一篇写草丛的文章,自己跟着写了遍,并添加了自定义的形状和密度。思路:1、利用几何着色器,将每个顶点转为一个叶片网格2、利用曲面细分生成新顶点控制草丛密度3、贴图加clip决定叶片形状4、利用旋转矩阵完成动态和随机效果shader文件Shader "Custom/GrassShaderWithTexture"{ Properties {...

2019-04-07 15:31:21 2812 1

原创 Unity-VolumeLighting组件(体积雾/光效果)使用小记

Unity的实例《Neno》就使用了VolumeLighting 组件突然发现了Unity提供的一个开源组件VolumeLighting ,简单记一下用法。下载地址:https://github.com/Unity-Technologies/VolumetricLightingVolumetric fog首先需要在目标相机上挂载一个Volumetric fogG...

2019-04-04 14:24:21 19559 5

原创 OpenGL 笔记2

结构体的uniform设置的名称 "xxx.xxx"uniform是数组则使"xxx[n]"光源光源的设置 直射光、点光源、聚光源代码中主要就是传必要的值给shader#ifndef LIGHT_H#define LIGHT_H#include <glad/glad.h>#include <glm/glm.hpp>#include <...

2019-03-24 13:50:27 180

原创 OpenGL 笔记1

传输顶点数据:VBOfloat vertices[]......//创建并绑定顶点缓冲对象VBO 即在GPU中储存一大堆顶点属性的地方,方便GPU读取unsigned int VBO;glGenBuffers(1, &VBO);//GL_ARRAY_BUFFER表示顶点缓冲对象的类型glBindBuffer(GL_ARRAY_BUFFER, VBO);//把之前定义...

2019-03-21 19:42:35 294

翻译 可编程渲染管线6 透明度

原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/transparency/执行透明度测试 渲染双面网格 支持不同的混合模式 生成双面网格 使用预设创建着色器GUI这是可编程渲染管线的第六部分,添加对透明度裁切和半透明材质的支持。该教程基于 Unity 2018.3.0f2不透明...

2019-03-15 20:24:52 1083

原创 Unityshader水体笔记

总结一下最近学习的东西折射GrabPass{}获取水下的贴图 采样添加法线的扰乱水体密度以水深参考,越深颜色越重反射写一个脚本用于获取反射贴图,采样添加法线的扰乱脚本的主要内容为:1、获取主相机和水平面,并生成一个和主相机配置相同的反射相机2、根据主相机位置和水平面得到反射矩阵,计算得到反射相机的位置3、修改反射相机的世界-相机矩阵4、修改反射相机的投...

2019-03-11 17:51:45 2590 1

原创 UnityShader BRDF的简易实现

最近《3D游戏与计算机图形学中的数学方法》看到双向反射分布函数,开头的各种术语把爷整懵了,看完才发现竟然前面只是介绍了原理!!!果然我还是安安分分地套公式好了。BRDF函数:k表示表示入射光中被漫反射出去的部分光能,1-k则表示剩余的光能,被物体吸收或成为镜面反射。可以差不多把1-k看做金属值。D表示漫反射颜色,我们简单的用兰伯特光照模型计算即可。重点就在于镜面反射函数...

2019-02-23 19:38:19 2015

翻译 可编程渲染管线5 平行光阴影

原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/directional-shadows/支持直射光的多重阴影 控制阴影距离 定义一个单独的主光源 渲染和采样级联阴影贴图(cascaded shadow map) 使用球形剔除这是Unity可编程渲染管线系列教程的五章,本章中我们将完成平行光...

2019-02-21 20:30:15 1083

翻译 可编程渲染管线4 聚光灯阴影

原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/spotlight-shadows/读取并渲染纹理 从光的角度渲染 为阴影投射(shadow casters)添加一个着色器pass 采样阴影贴图 支持软阴影和硬阴影混合 在单个图集中组合多达16个阴影贴图。这是Unity可编程渲染管线教程...

2019-02-11 17:55:16 1462

翻译 可编程渲染管线3 光照

原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/lights/执行漫反射着色 支持方向光、点光、聚光 支持每帧最多16个可见光源 为每个物体计算4个像素光源和4个顶点光源。这是可编程渲染管线教程的第三章。这章我们将为物体提供漫反射光照支持。通过单个draw call,为每个物体添加最多八个着...

2019-02-05 21:42:53 1168

翻译 可编程渲染管线2 自定义着色器

原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/custom-shaders/写一个HLSL shader 定义常量缓冲区(constant buffers) 使用渲染管线核心库文件(Render Pipeline Core Library). 支持动态批处理和GPU实例.这是Unity可编...

2019-02-01 19:39:19 4473 1

翻译 可编程渲染管线1 自定义通道

原文:https://catlikecoding.com/unity/tutorials/scriptable-render-pipeline/custom-pipeline/该教程基于Unity 2018.3.0f2.1、创建通道想要渲染任何东西,Unity都需要确定绘制什么形状,何时绘制,在哪绘制,以及使用何种设置。取决于涉及的效果的数量,这可能会非常复杂。将光照、阴影、透明度、...

2019-01-28 20:15:06 1468

原创 Unity里的延迟渲染

延迟渲染延迟渲染渲染下,光源计算的消耗的消耗和光源占屏幕的范围(像素)相关,而不是像正向渲染中,和光源照射的物体数量相关。延迟渲染也分为2个Pass(不在同一个shader里)GBuffer Pass(Defferred Pass):这个pass写在想要支持延迟渲染的游戏物体的shader里,和正向渲染不同,Gbuffer会渲染输出4份贴图(如果用了混合光照还有第五份)RT0, ...

2019-01-14 14:51:43 4771 3

原创 UnityShader-环境反射

 环境的反射算在间接光的镜面反射中UnityIndirect CreateIndirectLight(v2f i,float3 viewDir){ ... #if defined(FORWARD_BASE_PASS) ... //得到反射方向 float3 reflectDir=reflect(-viewDir,i.normal); //得...

2019-01-10 13:51:36 7471

原创 UnityShader-阴影

渲染阴影的过程一 渲染屏幕空间的深度贴图 (DepthTexture)在正向渲染里,unity会先用ShadowCaster这个Pass渲染一遍场景,得到一张深度贴图  (PS:延迟渲染,深度贴图和albedo specular之类在Deferred Pass里统一计算一并放在Gbuffer里,不会专门单独渲染)二 渲染光源方向的深度贴图(ShadowMap)然后u...

2019-01-08 18:05:10 2903

原创 Unity里的正向渲染

正向渲染在正向渲染中,最亮的几个光源会进行逐像素计算,较次的后继四个会进行逐顶点计算,省下的则是进行球谐(Spherical Harmonics)计算逐像素计算的光源的最多数量可以是自己设置 Edit-&gt;Project Seting-&gt;Quality 默认是4个决定一个光源是逐像素计算还是其他的,取决于以下几点1、最亮的直射光(directional light)...

2018-12-30 22:02:26 1310

原创 Unity- CommandBuffer和PostProcessing插件

CommandBufferCommandBuffers是预先写好一系列的渲染指令,然后在摄像机渲染时可以在适当的时机插入这一段指令,总之还是先看一下官方的案例第一个是一个毛玻璃的案例,commandBuffers的任务就是为毛玻璃材质的shader提供一张模糊后的屏幕截图,类似GrabPass下面放的是我为了方便理解删减过的代码,不过用的shader仍然是案例的shader,一个用于高...

2018-12-26 20:10:42 3316

原创 unity编辑器扩展#3 《Extending Unity with Editor Scripting 》笔记

 #1 编辑器创建新场景EditorApplication.SaveCurrentSceneIfUserWantsTo();//打开是否保存场景的对话框EditorApplication.NewScene();//创建新场景,方法以废弃=&gt; EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects);//E...

2018-12-14 18:14:48 1187

原创 unity编辑器扩展#2 GUILayout、EditorGUILayout 控件整理

GUILayout装饰类控件:GUILayout.FlexibleSpace();GUILayout.Space(100);//空格,没什么好说的GUILayout.Label("label");GUILayout.Box(new GUIContent("一个200x200的BOX"),new []{GUILayout.Height(200),GUILayout....

2018-12-06 13:39:48 28274 6

原创 unity编辑器扩展#1 自定义窗口、面板、和属性

撸一遍unity官方文档的给的三个案例:https://docs.unity3d.com/2017.4/Documentation/Manual/editor-EditorWindows.html自定义窗口首先,要注意和编辑器相关的脚本都应该把放到Editor文件夹里,可以有多个Editor文件夹。然后创建一个继承自EditorWindow的类using System.Col...

2018-12-06 13:39:31 4312

原创 噪声笔记#6 分形布朗运动

分形布朗运动(Fractal Brownian Motion)也就是fbm,它不是噪声,但是他可以让噪声有更多的细节。可以看成把不同比例位置的一张噪声合并在一起。// Propertiesconst int octaves = 1;float lacunarity = 2.0;float gain = 0.5;//// Initial valuesfloat amplitude ...

2018-11-29 19:32:05 6033 3

原创 噪声笔记#5 Worley噪声

Worley noise也叫Voronoi/Cellular noise,叫Voronoi是因为基于Voronoi 算法,Voronoi图,叫Worley是因为1996年Steven Worley 写了一篇名为“A Cellular Texture Basis Function”的论文。在这篇论文里,他描述了这种现在被广泛使用的程序化纹理技术。worely噪声有别与前面几种噪声,它是随机生成几...

2018-11-26 21:04:14 2411 2

原创 噪声笔记#4 梯度噪声_Simplex Noise

柏林噪声很好用,但是它计算需要的顶点数是,随着维度的增加,需要的顶点数急剧上升。于是在2001 年的 Siggraph上,他展示了 “simplex noise”,它比perlin有更低的计算量和优化。Simplex是单形的意思通俗解释单形的话,可以认为是在N维空间里,选出一个最简单最紧凑的多边形,让它可以平铺整个N维空间。我们可以很容易地想到一维空间下的单形是等长的线段(1-单形),把...

2018-11-22 14:49:41 1335

原创 噪声笔记#3 梯度噪声_Perlin Noise

value noise 看起来非常“块状”。为了消除这种块状的效果,在 1985 年 Ken Perlin 开发了另一种 noise 算法 Gradient Noise。Ken 解决了如何插入随机的 gradients(梯度、渐变)而不是一个固定值。这些梯度值来自于一个二维的随机函数,返回一个方向(vec2 格式的向量),而不仅是一个值(float格式)。perlin噪声相对于之前值噪声修...

2018-11-18 19:29:22 2518

原创 噪声笔记#2 插值和值噪声

白噪声实在是太随机了,随机值之间没什么相关性,而在现实中,像波浪,叶脉纹理这些在随机中又带着规律性,因此想要模拟这些的噪声(Noise)也需要在随机中带点相关性。(1)用插值连接随机点之前实现白噪声,每个像素块彼此完全独立,随机点之间没有联系。想要把这些随机点连接起来就需要插值。这里列几个常用的插值方法 比如说有这样几个随机点第一种,线性插值 :,float i = fl...

2018-11-16 21:47:01 1428

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除