在2D图形中,可以绘制4条直线;水平、垂直、向右倾斜和向左倾斜。
红色和蓝色的线分别由y = x和y = -x表示。尝试绘制与y = 2x不同的图形需要绘制多条直线:
y = x
y = -x
y = 2x
尽管看起来像一条直线是由多条垂直直线组成的;为了揭示这个视觉技巧,我们所要做的就是放大图片:
我想用c++和winapi实现这个技术,但是这个技术是什么呢?
ryevplcw1#
通常,有两种类型的线,您使用的方法在它们之间有所不同:
使用专门的算法绘制细线。通常,目标是绘制一条只有一个像素宽的线。算法取决于您的目标:
同时渲染这些对象更容易,也更困难。如果您不必担心行的结尾和角,您只需在行周围创建一个四元文字,并像其他任何东西一样使用光栅化来渲染它。然而,渲染角和结束通常需要使用多个基元:
您共享的红线看起来像一条粗线,因为它有多个像素厚。
1条答案
按热度按时间ryevplcw1#
通常,有两种类型的线,您使用的方法在它们之间有所不同:
细线
使用专门的算法绘制细线。通常,目标是绘制一条只有一个像素宽的线。算法取决于您的目标:
粗线
同时渲染这些对象更容易,也更困难。如果您不必担心行的结尾和角,您只需在行周围创建一个四元文字,并像其他任何东西一样使用光栅化来渲染它。
然而,渲染角和结束通常需要使用多个基元:
您共享的红线看起来像一条粗线,因为它有多个像素厚。