虚心请问,怎么自己编程实现对凹多边形进行颜色填充

虚心请教,如何自己编程实现对凹多边形进行颜色填充?
近来在学习2D游戏编程,已经有一段时间了,所以目前在写俄罗斯方块游戏,但是在绘制那些多边形之后,不知道有什么快速的算法实现凹多边形的颜色填充,我不想调用API函数,画线,画多边形的函数都是看书写的,于是请教有没有什么快速的算法,我的思路是把那些凹多边形拆成一个一个的矩形进行填充,然后在通过坐标组织在一起,但是感觉这样似乎很麻烦,而且画面没刷新一帧都要重新绘制与填充。


分不多了,请各位谅解,谢谢!~

------解决方案--------------------
自己写算法的话可以试试三角形或者矩形拆分,然后画线填充,线条宽度自己设定一下就ok。
不过还是推荐用ms的库函数,很方便的
------解决方案--------------------
先将各种形状的图案在内存位图中画好,然后每次直接Bitblt到dc

这样只需要画一次,效率也最高,不用每次重复画