C++ 用于渲染二维元素(圆、圆角矩形、模糊~)的参考
我正在编写一个Python模块,它应该为低级GUI平台提供一个简单的OOP接口。为了实现这一点,需要创建一个包装器类,该类由模块中的类使用 这是基本实现的(尚未)类图 这个问题实际上与软件包的设计无关,但如果您对它有疑问或有更好的想法,我不会介意任何评论/批评 DrawArea类是底层平台和包中类之间的粘合剂。事件通常从这里开始,因为包装器应该识别鼠标/键盘事件并将其告知其子级 现在,如您所见,DrawArea类需要实现一些函数来将基本元素呈现到GUI上。现在,我想了解渲染圆、圆角矩形、线(具有一定厚度)以及抗锯齿背后的魔力。一个原因是我对这个主题很感兴趣,另一个原因是我想用这个包交付一个实现。(将用C/C++编写,我敢肯定Python对于这种渲染操作来说会非常慢,不是吗?) 现在我的问题是:C++ 用于渲染二维元素(圆、圆角矩形、模糊~)的参考,c++,python,user-interface,rendering,2d,C++,Python,User Interface,Rendering,2d,我正在编写一个Python模块,它应该为低级GUI平台提供一个简单的OOP接口。为了实现这一点,需要创建一个包装器类,该类由模块中的类使用 这是基本实现的(尚未)类图 这个问题实际上与软件包的设计无关,但如果您对它有疑问或有更好的想法,我不会介意任何评论/批评 DrawArea类是底层平台和包中类之间的粘合剂。事件通常从这里开始,因为包装器应该识别鼠标/键盘事件并将其告知其子级 现在,如您所见,DrawArea类需要实现一些函数来将基本元素呈现到GUI上。现在,我想了解渲染圆、圆角矩形、线(具
- 例如,是在渲染元素时进行抗锯齿处理,还是在所有渲染操作完成后应用抗锯齿处理
Path
类的东西会更好吗?即,应呈现形式的矢量化表示。这将有利于渲染任何类型的二维形式,但我不知道如何实现它。有很好的矢量图形绘制参考资料吗- 我鼓励阅读既古老又伟大的书籍(展示i386时代需要的技巧):
- 如果你想要更多,另一本书:“计算机图形学导论” 詹姆斯·D·福利、安德烈·范·达姆、史蒂文·K·费纳、约翰·F·休斯、理查德·L·菲利普斯”
- 这是广泛使用的原因,它只使用整数加法,减法,位移位-这是最快的指令执行
- 许多修改,包括多核:
- 清晰易读的示例如何将Bresenham应用于直线、圆等:
- 这是如何画圆的经典例子
- 但是,如果您希望在绘图算法中内置抗锯齿功能(而不是过采样),您可能希望签出:
- 在网上阅读有关算法的文章,但我真的鼓励大家深入研究