In a 3D computer graphics system such as a 3D home video game console,
efficient techniques for generating non-photorealistic effects such as
cartoon outlining involve generating and displaying border lines at object
edges based on contents of a pixel memory. Some techniques use depth (Z)
values to determine which pixels are located at object edges, and
selectively blend border coloration into those pixels which are then
displayed. Object edges are located by comparing pixel depth values with
neighboring pixel depth values (e.g., calculating a "distance" value based
on the absolute values of the distance(s) between a pixel's depth and
depths of neighboring pixels). A desired border line color is blended into
the pixel's color value based on the calculated distance value. In one
particular example, the distance value is used to calculate a pixel Alpha
value which is then used to control the amount of border color that is
blended into the pixel color. The Alpha value may be modulated by pixel
depth. Other techniques may cause object portions with identification
values stored in frame buffer locations normally used to store Alpha
values. These ID values can be used to identify object portion
intersections for applying a border line color to.
En un sistema de los gráficos de computadora 3D tal como una consola video casera del juego 3D, las técnicas eficientes para generar efectos non-photorealistic tales como contornear de la historieta implican el generar y el exhibir de fronteras en los bordes del objeto basados en contenido de una memoria del pixel. Algunas técnicas utilizan los valores de la profundidad (z) para determinarse qué pixeles están situados en los bordes del objeto, y para mezclar selectivamente la coloración de la frontera en esos pixeles que entonces se exhiban. Los bordes del objeto son situados comparando valores de la profundidad del pixel con valores vecinos de la profundidad del pixel (e.g., calculando un valor de la "distancia" basado en los valores absolutos del distance(s) entre la profundidad de un pixel y las profundidades de pixeles vecinos). Una frontera deseada color se mezcla en el valor del color del pixel basado en el valor calculado de la distancia. En un ejemplo particular, el valor de la distancia se utiliza para calcular un valor de la alfa del pixel que entonces se utilice para controlar la cantidad de color de la frontera que se mezcle en el color del pixel. El valor de la alfa se puede modular por profundidad del pixel. Otras técnicas pueden causar porciones del objeto con los valores de la identificación almacenados en las localizaciones del almacenador intermediario de marco usadas normalmente para almacenar valores de la alfa. Estos valores de la identificación se pueden utilizar para identificar las intersecciones de la porción del objeto para aplicar una frontera color a.