<> <> <> <> <<>> 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.