自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Unity Geometry Shader 物体溶解效果

这篇文章中效果的实现思路主要参考自这里:Geometry Shader学习笔记游戏Rime中的物体溶解效果:在之前的基础上增加了以下内容:溶解方块拖尾长度与偏移程度的控制;动画持续时间的控制;按照模型的比例来计算动画,不再受模型位置与大小的影响。最后的效果如下:shader代码与C#代码如下,需要用脚本来传入模型的位置信息,以及启动动画播放计时器。Shader "Unlit/Dissolve"{ Properties { _MainTex ("Te

2022-04-16 16:58:49 2957

原创 问题记录:Unity中附加自定义Shader的物体无法正确获取阴影

给四边形附加了河流顶点动画,在shader中计算了阴影,但是最终的光照效果中并没有获取到阴影,如下所示:在一番检查后发现在渲染河流四边形的时候根本就没有屏幕空间的Shadow Map:在一番检查测试后向顶点动画shader的前向渲染pass中加入下列指令:#pragma multi_compile_fwdbase这时便可以获取shadowmap计算出阴影了,该指令指定了一些光照和阴影定义,若没有该指令可能会导致计算时某些信息的缺失,从而无法得出正确的结果。参考:1、#pragma mul

2022-04-04 20:48:03 2808

原创 unity shader中 CG和GLSL之间矩阵存储方式的差异

在unity shader中计算切线空间光照的时候发现TBN矩阵在计算后并没有转置,这和在GLSL、线代中的计算方法相差一个转置的步骤,因为在GLSL中直接求得的TBN矩阵是切线空间到世界空间的变换,如果要在切线空间计算光照,则需要使用转置TBN矩阵来把向量从世界空间变换到切线空间。后来查阅了下资料如下:在CG中使用了行向量来存储TBN矩阵,可以参考这里:https://developer.download.nvidia.com/CgTutorial/cg_tutorial_chapter08.html

2022-03-10 20:16:52 3781

原创 Gamma矫正

为什么要用gamma矫正?因为人眼对暗部观察敏感,使用的为美术灰阶,也就是物理灰阶21.8%=美术灰阶中灰50%,这一对应关系可用一个映射函数来表示即y=x^(1/2.2) ,下方函数图像。人眼可以自动gamma映射。由于在计算机渲染运算时使用的是精度较高的浮点数,浮点数足够存储21.8%的暗部信息,但是存储图片时使用的是8bit的存储空间,对于暗部只有256*21.8%=55.8个灰阶,不足够存储暗部的信息,会发生明显断层,所以需要将浮点数映射到gamma空间(此时图片会发亮),再把数据转换至8b

2022-02-25 12:12:11 221

原创 世界空间到观察空间的变换矩阵为什么是相机变换矩阵的逆矩阵?

有些地方的理解和描述可能不太正确。虎书133页有更加详细的解释。唉,感觉线代还是没学明白,还有不少也都忘记了。这块本质上还是线性变换变来变去的。

2021-09-07 17:45:40 334

原创 GAMES101-现代计算机图形学-闫令琪 作业2 反走样 antialiasing 抗锯齿

@[TOC] 简介

2021-05-25 18:12:16 3121 5

原创 k图着色 遗传算法的简单python伪代码

文章目录概述python伪代码概述该问题中所使用到的部分函数与知识与局部搜索、模拟退火中的相同,参照k图着色 局部搜索算法与模拟退火算法的python实现遗传算法的整体思路比较简单,在解决图着色问题时这里解的编码形式就是所有节点的颜色序列,这时候依旧可以使用之前在局部搜索和模拟退火算法中所用的冲突计算函数get_conflict_count(graph, color_solution)来评价个体的优秀程度,这里不再做详细的赘述。先使用get_random_solution(color_num,cit

2020-12-13 12:37:57 2045

原创 k图着色 局部搜索算法与模拟退火算法的python实现

文章目录前言如何评价一个解?通过计算出的冲突来找它的邻居解局部搜索模拟退火总结以及不足之处前言这两种算法就不详细介绍了,流程思路比较简单,主要的问题是:如何评价一个解?这里使用了颜色集合来先对节点进行归类,对所有的节点随机的赋以颜色(这里用数字做代替),然后再按照颜色对其归类,集合的数量对应为颜色的数量。然后在一个颜色子集合中取所有任意两个点来判断他们是否是连通的即可,若是连通这两个便是冲突的,可将其计数,找到所有的冲突节点和数量,这便是评价解是否优秀的一种方法。通过计算出的冲突来找它的邻居解待

2020-11-29 22:20:22 2297 3

空空如也

空空如也

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

TA关注的人

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