8.2 IntroductionThe Drawing Engine built into Ravin is very flexible. It is not bound to support justcertain geometries like lines, triangles or circles. Ravin-M supports almost anyobject geometry. The edges of every object can be blurred or antialiased. Thiscan be set for every edge independently.The rasterization is executed on the bounding box of the object. The rasterizationdirection is left to right and top to bottom. The Drawing Engine can also rasterbottom to top to optimize the performance in certain cases. Rasterization is doneone pixel per clock; there are certain optimization methods to avoid rasterizationof many empty pixels of the bounding box.The distances to the edges of the object are calculated by a set of edge equationsfor every pixel of the bounding box. These equations can be combined in a wayto describe the whole object.If a pixel is inside the object it is selected for rendering, if it is outside it isdiscarded. If it is on the edge an alpha value can be chosen proportional to thedistance of the pixel to the nearest edge for antialiasing.Every pixel that is selected for rendering can be textured. The resulting aRGBquadruple can be modified by a general raster operation approach independentlyfor each of the four channels.Then the aRGB quadruples can be blended with one of the multiple blend modesthat are available.There are two colour inputs into the Drawing Engine and one output. The inputsare texture read and framebuffer read and the output is framebuffer write.The internal colour format is always aRGB(8888). The colour formats from theinputs are converted to the internal format on read and a conversion back is doneon write.Objects that can be drawn in hardware with this engine could look like this:Figure 8-2 Examples of drawing objectsDrawing Engine Chapter 8Preliminary User's Manual S19203EE1V3UM00 217