- 博客(7)
- 收藏
- 关注
原创 Phong模型与Blinn-Phong模型
一、前言写高光的时候通常是使用Blinn-Phong模型,某日突然想起很久以前学习的Phong模型,拿两者出来比较学习一下二、原理两者都是传统的用于计算直接光镜面反射的传统经验模型,本质区别在于计算方式的不同【Phong模型】RdotV通过(光线的反射方向R与观测方向V)之间的夹角来描述镜面反射强度由于需要求光线的反射方向R这么一个过程,耗能应该是相对来说较大的【Blinn-Phong模型】NdotH通过(法线N与半程向量H)之间的夹角来描述镜面反射强度半程向量H:-入射
2022-05-10 18:05:43
978
原创 003 有效的括号 (C#力扣)
一、题目二、解答思路:①先将输入的字符串转ASCII码存入数组arr[]中,字符串长度如果是奇数直接排除,偶数才进入判断。②遍历arr[]中的每个括号,如果是左括号,推进栈里,如果是右括号且栈为空(说明没有与之匹配的了,返回false)。③接下来如果遇到是右括号,取出栈顶元素进行匹配,并删除该栈顶元素。一趟趟遍历完数组arr[]中的ASCII码后,如果此时栈为空,就是true,匹配成功!public class Solution { public bool
2022-05-10 16:27:31
300
原创 002 回文数 (C#力扣)
一、题目二、解答①很倔强,硬是想用/%做了试试,结果很惨也很拉思路:输入某数,如“123”,那么通过运算依次将数字3、2、1存入数组中,运算得“321”,最后与原数进行比较,false输入某数,如“121”,那么通过运算依次将数字1、2、1存入数组中,运算得“121”,最后与原数进行比较,truepublic class Solution { ArrayList arr = new ArrayList(); int i=0; double key=0
2022-05-09 21:36:21
575
原创 001 两数之和 (C#力扣)
一、题目二、解答①暴力解,直接上两层循环public class Solution { public int[] TwoSum(int[] nums, int target) { int[] result=new int[2]; int i=0; int j=nums.Length-1; while(i<nums.Length){ while(j>i){
2022-05-09 18:50:30
786
1
原创 pow()与smoothStep()函数的比较
目录前言一、定义二、图形三、性能四、总结前言B站上听课,在关于blin-phong模型中的shader代码上,对于提高其对比度方面,大佬提了一嘴,“pow()函数的性能比smoothStep()函数要费”,有点懵,所以简要记录一下关于两个函数的学习过程 (以下比较是基于CG语言)一、定义pow(x,y)作用:求x的y次幂smoothstep(min,max,x)作用:在min和max之间平滑插值,其实跟lerp()函数差不多具体函数为float
2022-05-08 19:06:50
1043
原创 在Unity中实现简易的镭射效果
知乎看见了大佬的帖子,想在Unity里复现一下镭射材质的shader,记录一下学习过程~一、前置知识1、菲涅尔效应本次复现涉及到的原理仅有此条:菲涅尔效应(Fresnel Effect)我们可以通过日常现象来理解菲涅尔效应:当我们走在湖边时看向湖面——>看到部分湖底的样子,部分岸边景色的倒影当我们垂直看向湖面的时候——>几乎完...
2022-05-01 11:41:42
1096
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人