为什么要渲染阴影
为了让画面看起来更加真实合理不是么?
如何渲染阴影
我们先用在光源的方向放一个摄像机,可以拿到一个图像的深度值,透过MVP变换之后,我们拿到摄像机视角的一个图像,我们只需要这张图像上的深度就好了。也就是各个片元的z值。
这里渲染深度值一直是黑色的,卡壳了。
Lesson 6bis: tangent space normal mapping · ssloy/tinyrenderer Wiki (github.com)
从零开始的TinyRenderer(6.5)——切线空间法线贴图 - 知乎 (zhihu.com)
几何向量:计算光线反射reflect向量_反射向量-CSDN博客
为什么要有切线空间(Tangent Space),它的作用是什么? - 鸡哥的回答 - 知乎
为什么要有切线空间(Tangent Space),它的作用是什么? - Milo Yip的回答 - 知乎
这里的漫反射只是使用了phone模型
diff = l dot n
我们可得高光模型:
著作权归作者所由,如有侵权请联系我删除
作者: Deadexow
笑看人间沧海,独活岁月轮转
地址:Navigation Mesh寻路算法 - 知乎 (zhihu.com)
Summary Pathfinding is a fundamental problem that most commercial games must deal with. Due to the increase in game complexity, early solutions to the problem of pathfinding were soon overwhelmed. $A^*$ alone, a classic search algorithm, is no longer sufficient to provide the best solution. The popularization of using navigation mesh in pathfinding makes $A^*$ search a very small proportion of pathfinding implementation. In this paper, it systematically reviews the entire process of using a navigation mesh to find an optimal path. First a general pathfinding solution is described. Then examples of using $A^*$ in a navigation mesh are given. Additionally, implementation details of using funnel algorithm in both triangulation and polygonization are given, which is a major contribution of this paper.
Key words Pathfinding, $A^*$, navigation mesh, triangulation, funnel algorithm
频繁发送消息可能导致接收方面临以下问题:
消息堆积: 如果消息发送速率高于接收方处理消息的速率,消息可能会在接收方的缓冲区中堆积。这可能导致缓冲区溢出,使得部分消息丢失或被丢弃。
资源消耗: 高频率的消息接收会增加系统资源的消耗,包括CPU和内存。如果处理消息的速度跟不上消息的到达速度,系统可能会因资源不足而变得不稳定。
延迟增加: 如果接收方处理消息的速度跟不上消息的到达速度,消息在缓冲区中等待处理的时间会增加,导致消息的传输延迟增加。
响应性下降: 高频率的消息接收可能会影响接收方对其他任务的响应性能。如果接收方花费过多的时间处理消息,可能会影响到对其他事件或请求的及时响应。