![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图形学
周金为15952582017
这个作者很懒,什么都没留下…
展开
-
图形学渲染管线
本文由@浅墨_毛星云 出品,转载请注明出处。 文章链接: http://blog.csdn.net/poem_qianmo/article/details/70544201这篇文章是解析计算机图形学界“九阴真经总纲”一般存在的《Real-Time Render...转载 2018-11-29 11:19:14 · 611 阅读 · 0 评论 -
Unity之基于光线投射算法的体渲染技术(一)
本文参考《GPU编程与CG语言之阳春白雪下里巴人》光线投射算法原理: 光线投射方法是基于图像序列的直接体会之算法,从图像的每一个像素,沿固定方向(通常是视线方向)发射一条光线,光线穿越整个图像序列,并在这个过程中,对图像序列进行采样获取颜色信息,同时根据光线吸收模型将会颜色值进行累加,直至光线穿越整个图像序列,最后得到的颜色值就是渲染图像的颜色。实现流程:C#代码部...原创 2018-11-29 15:56:51 · 2580 阅读 · 5 评论 -
Unity内置BRDF光照模型的详解和实现
参考:http://www.cnblogs.com/wbaoqing/p/9810386.htmlhttps://blog.csdn.net/linuxheik/article/details/78662590BRDF(双向反射分布函数):光线照到一个物体产生了反射,由于该物体的表面不是理想的镜面,所以光线向各个方向反射(双向反射命名的含义),而且各个方向上的反射强度不同(反射包括漫反射和...原创 2018-12-04 17:32:40 · 4253 阅读 · 2 评论 -
初识ComputeShader
同其他shader一样,ComputeShader也是一段直接运行在GPU上的代码,只是它不在传统的渲染管线当中。它支持海量数据的传输和计算。下面通过具体的例子来见识一下ComputerShader的魅力所在。 我们通过ComputeShader+VFShader+C#来实现粒子效果,并且实时控制这些粒子的颜色和位置。在Computeshader中我们定义粒子对象的结构体,包...原创 2019-01-18 17:12:03 · 4754 阅读 · 2 评论 -
Unity之基于光线投射算法的体渲染技术(二)
接上文https://blog.csdn.net/qq_34980278/article/details/84633767第二种光线投射算法的实现,基于光线起点(相机位置)。将相机位置由世界坐标通过模型视图投影矩阵反变换到长方体的局部坐标空间。每个fragment的坐标作为光线的入射点,由变换后的相机位置与光线入射点确定光线的方向,在沿着光线方向从入射点前进时,每到达一个新的点,判断其是否在长...原创 2019-01-25 18:20:41 · 1798 阅读 · 0 评论 -
Unity之基于GeometryShader的补面
当我们在使用discard命令的时候模型会破面,因为discard截的是像素,截掉的地方并没有网格,是空的,所以要生成面才能组成一个封闭的模型,这里基于Unity的GeometryShader进行面的绘制。使用两个pass,第一个pass正常discard模型,第二个pass使用GeometryShader程序绘制面补上破面Shader "MyShader/GSTest"{ Pro...原创 2019-02-03 11:55:48 · 1448 阅读 · 6 评论 -
Unity Tessellation Shader+Geometry shader实现毛发效果
思路:利用Tessellation Shader(曲面细分着色器)来细化模型的三角面,保证后面生成的毛发足够细,足够密,利用Geometry shader(几何着色器)在细化后的三角面上额外生成向外突出的锥体来模拟毛发,该思路也可以实现其他类似的效果,性能消耗极少。Shader "Unlit/Tessellation"{ Properties { _Color("Mai...原创 2019-02-21 17:46:18 · 2495 阅读 · 2 评论 -
Shader——移动平台上的优化
以下摘录自《Unity 3D ShaderLab开发实战详解》,第34章。(2015年第2版) 本章的大部分内容都是从 Unity 的官方论坛和文档收集的,在此只是简单地分享给读者。移动平台的特点相对于 PC 来说,移动平台上不论是内存还是运算速度,都相差了至少一个数量级,而且移动平台一般使用的是电源电池,而不是插线板,因此,其最大负荷是有限的...转载 2019-04-16 16:05:59 · 774 阅读 · 0 评论 -
基于UnityShader的面模型射线检测与表面曲线测量
实现流程:首先需要准备一个shader来做屏幕特效,shader中输出屏幕上面模型的深度信息,用来计算模型像素的坐标。Shader "Custom/Depth" { SubShader{ Tags{ "RenderType" = "Opaque" } Pass{ ZTest Always Cull Off ZWrite Off CGPROGRAM // Use sh...原创 2019-04-24 14:44:32 · 820 阅读 · 0 评论