发明名称 |
TESSELLATION OF TWO-DIMENSIONAL CURVES USING A GRAPHICS PIPELINE |
摘要 |
Methods, systems, and computer-storage media for efficiently tessellating two dimensional (2-D) curves using a graphics pipeline running on a graphics processing unit (GPU) are provided. A central processing unit (CPU) converts a geometry having one or more 2-D curves into an intermediate tessellation having at least one Bezier fan with a fan origin and four control points. The intermediate tessellation is sent on to the graphics pipeline. A hull shader in the graphics pipeline is configured to approximate the Bezier fan curve by subdividing the curve into a defined number of triangles based on a maximum value of a width or a height of a bounding box containing the four control points of the Bezier fan. A domain shader in the graphics pipeline is configured to determine a vertex position for each of the defined triangles along the curve of the Bezier fan. |
申请公布号 |
US2014320523(A1) |
申请公布日期 |
2014.10.30 |
申请号 |
US201313873403 |
申请日期 |
2013.04.30 |
申请人 |
MICROSOFT CORPORATION |
发明人 |
HODSDON ANTHONY JOHN ROLLS;PELTON BLAKE DOUGLAS |
分类号 |
G06T5/00;G06T1/20;G06T11/20 |
主分类号 |
G06T5/00 |
代理机构 |
|
代理人 |
|
主权项 |
1. One or more computer-storage media having computer-executable instructions embodied thereon that, when executed, perform a method of rendering antialiased two-dimensional curves, the method comprising:
converting scene data into an intermediate tessellation by generating a set of geometric shapes tessellated from objects in the scene data, the set of geometric shapes comprising at least one Bezier fan having four control points and a fan origin; generating a first instruction to configure a hull shader in a graphics pipeline to, among other things, approximate a curve of the at least one Bezier fan by subdividing the curve into a defined number of triangles based on a maximum value of a width or a height of a minimum bounding box containing the four control points of the at least one Bezier fan; generating a second instruction to configure a domain shader in the graphics pipeline to determine a vertex position for each of the defined number of triangles along the curve of the at least one Bezier fan; and communicating the intermediate tessellation to the graphics pipeline. |
地址 |
Redmond WA US |