如何从顶点列表中绘制多边形阴影

How to draw polygon shadow from list of vertex's

我正在尝试通过扩展形状的顶点并从外部顶点绘制多边形来创建阴影。

我需要一种方法来获取所有外部顶点

Current Polygon Shape

Desired Polygon Shape

假设有人为了学习目的想要重新发明轮子。 (周围有很多图形引擎。)直觉上,似乎有必要制作一个简单的光线追踪器。

  1. 创建光源。
  2. 从光源画出假想线。
  3. 只要线条碰到绿色区域,就将它们延伸以形成阴影。
  4. 重新绘制顶部的绿色对象以隐藏混乱。

另一种选择是制作更复杂的光线追踪器。

  1. 创建虚拟 3D 场景。
  2. 在虚拟中将阴影绘制为 3D 拉伸 space。
  3. 使用 stencils and shadow volumes. 将场景投影到二维 canvas (使用 "long shadow" 过滤器使用 Gimp 绘制)。