我想我会用一个例子来说明:在这个游戏中,您可以使用鼠标绘制 2D 形状,并且您所绘制的内容会实时呈现到屏幕上。我想知道使用硬件加速 (OpenGL) 渲染此类绘图的最佳方法是什么。我有两个想法:
- 开始绘制时创建屏幕大小的纹理,绘制时更新此纹理,并将其粘贴到屏幕上
- 创建一系列线段来表示图形,并使用线或细多边形来渲染它们
还有其他想法吗?这些方法中的哪一种可能是最好/最有效/最简单的?欢迎任何建议。
我喜欢蜡笔物理学(音乐每次都能吸引我)。精彩的比赛!
但回到正题……他创建了跟随鼠标位置的画笔精灵。他创建了一些画笔,这些画笔略有变化。一旦鼠标落下,我想他正在将这些精灵添加到数据结构中,并通过他的绘图和碰撞函数发送该结构以循环。从而弹出实时效果。他正在使用简单的 DirectMedia 层库,我给了两个大拇指。
我很确定第二个想法是要走的路。
第一个选项,如果玩家纯手绘(而不是线条),并且他们绘制的内容不需要动画。
第二个选项,如果它是动画或主要是线条。如果您确实选择了这个,似乎您需要绘制细多边形而不是常规线条才能获得任何有趣的外观(如蜡笔示例中所示)。