Sign In to Follow Application
View All Documents & Correspondence

"Method For Hardware Accelerated Anti Aliasing In 3 D"

Abstract: A method and system for anti-aliased rasterization of objects From a particular viewpoint of an object represented by shapes, a shape is selected having an edge on a silhouette of the object An edge geometry is created at the edge of the shape that is on the silhouette of the object The edge geometry is rendered Either the shape is rendered after the edge geometry is rendered with the depth test set so as to not allow portions of the shape to overlap the edge geometry, or the shape itself 13 modified to remove any portion that overlaps the edge geometry This may be repeated for each edge of each shape that lies on the silhouette of the object

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
13 September 2005
Publication Number
40/2009
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

MICROSOFT CORPORATION
ONE MICROSOFT WAY, REDMOND, WASHINGTON 98052, USA.

Inventors

1. ALEXANDER STEVENSON
ONE MICROSOFT WAY, REDMOND, WASHINGTON 98052, USA.
2. ASHRAF A. MICHAIL
ONE MICROSOFT WAY, REDMOND, WASHINGTON 98052, USA.

Specification

METHOD FOR HARDWARE ACCELERATED ANTI-ALIASING IN 3D FIELD OF THE INVENTION The invention relates generally to computers, and more particularly to images BACKGROUND Anti-aliasing is used to reduce aliasing artifacts common with diagonal or curved edges in computer images Current techniques for anti-aliased rasterization of 3D models either require an excessive amount of time, special hardware support, or result in unacceptable artifacts, such as object bloating Furthermore, anti-aliasing for 3D models varies in quality and performance from one graphics card to another What is needed is a method for accelerating anti-aliasing for 3D models Ideally, such a method would provide consistent results across graphics cards SUMMARY Briefly, the present invention provides a method and system for anti-aliased rasterization of objects From a particular viewpoint of an object represented by shapes, a shape is selected having an edge on a silhouette of the object An edge geometry is created at the edge of the shape that is on the silhouette of the object The edge geometry is rendered Either the shape is rendered after the edge geometry is rendered with the depth test set so as to not allow portions of the shape to overlap the edge geometry, or the shape itself is modified to remove any portion that overlaps the edge geometry This may be repeated for each edge of each shape that lies on the silhouette of the object In one aspect of the invention, the edge geometry is textured with the texture that matches the texture at the edge of the shape The edge geometry also has a texture placed thereon that has a varying transparency from opaque to completely transparent This causes coluors from pixels underneath the edge geometry to be mi ed with colors from pixels of the edge geometry This has the effect of antialiasing the silhouette of the object Other aspects will become apparent from the following detailed description when taken in conjunction with the drawings, in which BRIEF DESCRIPTION OF THE DRAWINGS FIGURE 1 is a block diagram representing a computer system into which the present invention may be incorporated, FIG 2 is a diagram that illustrates a triangle on a grid in accordance with various aspects of the invention, FIG 3 is a diagram that shows a triangle and pixels m accordance with various aspects of the invention, FIG 4 is a flow diagram that represents actions that may be performed in anti-aliasing in accordance with various aspects of the invention, FIG 5 is a flow diagram corresponding to the block 425 of FIG 4 in accordance with various aspects of the invention, FIG 6 is a diagram that shows the triangle of FIG 3 together with an example of new edge geometry in accordance with various aspects of the invention, and FIG 7 is a diagram that shows the triangle of FIG 3 together with another example of edge geometry in accordance with various aspects of the invention DETAILED DESCRIPTION EXEMPLARY OPERATING ENVIRONMENT Figure 1 illustrates an example of a suitable computing system environment 100 on which the invention may be implemented The computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100 The invention is operational with numerous other general purpose or special purpose computing system environments or configurations Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microcontroller-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices With reference to Figure 1, an exemplary system for implementing the invention includes a general-purpose computing device in the form of a computer 110 Components of the computer 110 may include, but are not limited to, a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including the system memory to the processing unit 120 The system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures By viay of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architectuie (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus Computer 110 typically includes a vanety of computer-readable media Computer-readable media can be any available media that can be accessed by the computer 110 and includes both volatile and nonvolatile media, and removable and nonremovable media By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data Computer storage media includes, but is not limited to, RAM, ROM, EEEROM, flash memory or other memory technology, CD-POM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the computer 110 Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal By way of example, and not limitation, communication media includes wired media such as a wired networl- or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media Combinations of the any of the above should also be included within the scope of computer-readable media The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132 A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131 RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120 By way of e

Documents

Application Documents

# Name Date
1 2479-del-2005-Claims-(13-09-2005).pdf 2005-09-13
1 2479-DEL-2005_EXAMREPORT.pdf 2016-06-30
2 2479-del-2005-abstract.pdf 2011-08-21
2 2479-del-2005-Form-13-(23-10-2008).pdf 2008-10-23
3 2479-del-2005-Claims-(23-10-2008).pdf 2008-10-23
3 2479-del-2005-assignment.pdf 2011-08-21
4 2479-del-2005-gpa.pdf 2011-08-21
4 2479-del-2005-claims.pdf 2011-08-21
5 2479-del-2005-form-5.pdf 2011-08-21
5 2479-del-2005-correspondence-others.pdf 2011-08-21
6 2479-del-2005-form-3.pdf 2011-08-21
6 2479-del-2005-description (complete).pdf 2011-08-21
7 2479-del-2005-form-2.pdf 2011-08-21
7 2479-del-2005-drawings.pdf 2011-08-21
8 2479-del-2005-form-1.pdf 2011-08-21
8 2479-del-2005-form-18.pdf 2011-08-21
9 2479-del-2005-form-13.pdf 2011-08-21
10 2479-del-2005-form-18.pdf 2011-08-21
10 2479-del-2005-form-1.pdf 2011-08-21
11 2479-del-2005-form-2.pdf 2011-08-21
11 2479-del-2005-drawings.pdf 2011-08-21
12 2479-del-2005-form-3.pdf 2011-08-21
12 2479-del-2005-description (complete).pdf 2011-08-21
13 2479-del-2005-form-5.pdf 2011-08-21
13 2479-del-2005-correspondence-others.pdf 2011-08-21
14 2479-del-2005-gpa.pdf 2011-08-21
14 2479-del-2005-claims.pdf 2011-08-21
15 2479-del-2005-Claims-(23-10-2008).pdf 2008-10-23
15 2479-del-2005-assignment.pdf 2011-08-21
16 2479-del-2005-Form-13-(23-10-2008).pdf 2008-10-23
16 2479-del-2005-abstract.pdf 2011-08-21
17 2479-DEL-2005_EXAMREPORT.pdf 2016-06-30
17 2479-del-2005-Claims-(13-09-2005).pdf 2005-09-13