DIRECTORY ImagerPixel, G3dEdgeBlt, G3dRender; G3dScanConvert: CEDAR DEFINITIONS ~ BEGIN Context: TYPE ~ G3dRender.Context; Pixel: TYPE ~ G3dRender.Pixel; -- red, green, blue, alpha (coverage), z (depth) PixelBufferProc: TYPE ~ PROC[ImagerPixel.PixelBuffer]; RGB: TYPE ~ G3dRender.RGB; --RECORD [ r, g, b: REAL]; IntRGBT: TYPE ~ RECORD[ r, g, b, t: CARDINAL]; RealSequence:TYPE ~ G3dRender.RealSequence; IntegerPair: TYPE ~ G3dRender.IntegerPair; -- RECORD [x, y: INTEGER] Patch: TYPE ~ G3dRender.Patch; EdgeSequence: TYPE ~ G3dEdgeBlt.EdgeSequence; CnvxPoly: TYPE ~ RECORD [lftSrc, lftDst, rgtSrc, rgtDst, scanSrc, scanDst: REF EdgeSequence]; justNoticeable: REAL ~ 0.02; -- percentage intensity change for a just noticeable difference Extend: PROC [seq: REF RealSequence, newLength: NAT] RETURNS [REF RealSequence]; Power: PROC [value: CARD16, power: NAT] RETURNS [result: CARD16]; MappedRGB: PROC [renderMode: ATOM, clr: RGB] RETURNS [NAT]; RGBFromMap: PROC [renderMode: ATOM, value: NAT] RETURNS [RGB]; DoWithPixels: PROC [context: Context, start: IntegerPair, length: NAT, proc: PixelBufferProc ]; PutLine: PROC [context: Context, p1, p2: IntegerPair, color1, color2: Pixel ]; FastFlatTiler: PROC [context: Context, plygn: REF Patch, color: Pixel]; LerpTiler: PROC [context: Context, plygn: REF Patch]; HiliteTiler: PROC [context: Context, plygn: REF Patch, shininess: NAT]; END. ήG3dScanConvert.mesa Copyright Σ 1984, 1987 by Xerox Corporation. All rights reserved. Frank Crow, July 1, 1987 5:21:01 pm PDT Scan conversion for lines and polygons and image manipulation, no anti-aliasing. Type Definitions RECORD [length: NAT _ 0, s: SEQUENCE maxLength: NAT OF REAL]; RECORD [length: NAT _ 0, s: SEQUENCE maxLength: NAT OF G3dEdgeBlt.EdgeDesc]; Constants Utility Procedures Pixel Operations Scan Conversion for Lines Scan Conversion for Convex Areas Κ©˜™J™BJ™'J™PJ™JšΟk œ$˜-—head2šΟlΠklžŸ ˜!Jšœ˜—headšž™Jšœœ˜#JšœœΟc0˜QJ˜Jšœœœ˜6J˜Jš œœ œ Πcs  ‘ ˜—Jšœ œ ‘ ‘ ˜GJšœœ˜"defaultšœœ˜-Nš œ œ œ œœ™L—Jšœ œΠksœΟsœ£œ£œ£œ£œ££œ˜]—šž ™ Nšœœ  ?˜\—šž™š Οnœœœœœœ˜PJ˜—š €œœœ œœ œ˜AJ˜—š Πbn€œœ œœœœ˜;M˜—Mš € œœ œ œœœ˜>—šΠbl™Nš€ œ££œ £œ£œ£œ £œ£œ£œ£œ˜_—šž™Nš€œœA˜N—šž ™ š€ œœœ˜GN˜—š€ œœœ˜5N˜—Nš€ œœœœ˜GM˜—Jšœ˜—…—„