摘要: 高度图转法线 高度图中保存的是物体表面的高度信息,可以利用u,v方向上高度变化的斜率,计算出tangent和binormal,然后通过向量叉乘得到normal。我们在fragment shader中计算每个fragment的normal: void InitializeFragmentNormal( 阅读全文
posted @ 2021-05-27 22:24 异次元的归来 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: Lua语言本身并没有提供面向对象的语法机制,这需要我们自己设计实现一套类的机制。首先,对于面向对象来说,我们至少需要类和对象这两个概念。同时,类至少包含一个用于构造对象的方法。对应到Lua上,就是一个代表类的table,它有一个构造函数,返回代表该类对象的table: Class = {} func 阅读全文
posted @ 2021-05-19 00:01 异次元的归来 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 几何着色器可以允许我们在GPU中增加,删除,修改传入的顶点属性。一个常见的用途是billboard,视野远处的物体直接用一个永远面向摄像机的面片来代替,并且这个面片实际上可以由1个点通过几何着色器输出4个顶点来生成。 首先,我们需要定义新的顶点类型,和相应的input layout: struct 阅读全文
posted @ 2021-05-14 00:29 异次元的归来 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 这道题出自LeetCode,题目如下: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:”对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给 阅读全文
posted @ 2021-05-08 23:18 异次元的归来 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 这道题出自LeetCode,题目如下: 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点 root ,以及树中两个不同节点的值 x 和 y 。 只有 阅读全文
posted @ 2021-04-14 00:44 异次元的归来 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 在Unity中,如果想要使用多光源,比如2个平行光,或者1个平行光+1个点光源,需要在额外的shader pass中进行处理: Pass { Tags { "LightMode" = "ForwardAdd" } Blend One One ZWrite Off CGPROGRAM ... ENDC 阅读全文
posted @ 2021-04-05 22:06 异次元的归来 阅读(704) 评论(0) 推荐(0) 编辑
摘要: 这道题出自LeetCode,题目如下: 给出二叉树的根节点 root,树上每个节点都有一个不同的值。 如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的集合)。 返回森林中的每棵树。你可以按任意顺序组织答案。 示例: **输入:**root = 阅读全文
posted @ 2021-04-01 23:53 异次元的归来 阅读(55) 评论(0) 推荐(1) 编辑
摘要: stencil buffer通常在实现一些特殊的效果时使用的,这里我们以实现一个object的shadow为例,来看看具体怎么使用它。 首先需要创建一个和要实现shadow的object一样的object,作为shadow object。然后对其应用shadow matrix变换: XMMATRIX 阅读全文
posted @ 2021-03-17 00:44 异次元的归来 阅读(39) 评论(0) 推荐(0) 编辑
摘要: Lua的metatable定义了大量的元方法,有些可以当作操作符重载来使用。例如,__add方法定义了对一个table使用+操作符时所发生的行为,但是,+操作符是二元操作符,假如只有一个操作数定义了__add方法,这时候运算还会成立吗?我们可以尝试一下: local u = {x = 1, y = 阅读全文
posted @ 2021-03-10 20:26 异次元的归来 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 1.UnityObjectToWorldNormal 用于将object space下的normal向量转换到world space下。 // Transforms normal from object to world space inline float3 UnityObjectToWorldN 阅读全文
posted @ 2021-03-02 00:15 异次元的归来 阅读(211) 评论(0) 推荐(0) 编辑