我想我会用一个例子来说明:在 这个游戏 您可以使用鼠标绘制 2D 形状,并且您绘制的内容会实时渲染到屏幕上。我想知道使用硬件加速(OpenGL)渲染此类绘图的最佳方法是什么。我有两个想法:

  • 开始绘制时创建屏幕大小的纹理,绘制时更新它,并将其传输到屏幕
  • 创建一系列线段来表示绘图,并使用直线或细多边形渲染它们

还有其他想法吗?这些方法中哪一个可能是最好/最有效/最简单的?欢迎任何建议。

有帮助吗?

解决方案

我喜欢蜡笔物理(音乐每次都让我着迷)。精彩的比赛!

但回到正题...他创建了跟随鼠标位置的画笔精灵。他创建了一些画笔来解释一些变化。一旦鼠标按下,我想象他正在将这些精灵添加到数据结构中,并通过他的绘图和碰撞函数发送该结构以进行循环。从而弹出实时效果。他正在使用 Simple DirectMedia Layer 库,我对此竖起两个大拇指。

其他提示

我很确定第二个想法是可行的方法。

如果玩家纯粹徒手绘制(而不是线条),并且他们绘制的内容不需要动画,那么这是第一个选项。

如果是动画或主要是线条,则为第二个选项。如果您确实选择此选项,则似乎您需要绘制细多边形而不是常规线条才能获得任何有趣的外观(如蜡笔示例中所示)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top