'From Squeak3.1alpha of 28 February 2001 [latest update: #3970] on 3 May 2001 at 1:44:38 pm'! "Change Set: MoreB3DFixes Date: 3 May 2001 Author: Andreas Raab Incorporates more fixes from Bob."! !B3DPrimitiveRasterizerState methodsFor: 'growing' stamp: 'ar 5/3/2001 13:00'! growAdded "Transcript cr; show:'Growing addedEdges'." addedEdges _ self grow: addedEdges.! ! !B3DRenderEngine methodsFor: 'private-rendering' stamp: 'ar 5/3/2001 13:00'! renderPrimitive "This is the main rendering loop for all operations" | visible | "Step 1: Check if the mesh is visible at all" visible _ self privateVisibleVB: vertexBuffer. visible == false ifTrue:[^nil]. "Step 2: Transform vertices, normals, texture coords of the mesh" self privateTransformVB: vertexBuffer. "Step 4a: Pre-clip the mesh if needed so that we can reject invisible meshes before shading" (self privateNeedsClipVB: visible) ifTrue:[visible _ self privatePreClipVB: vertexBuffer] ifFalse:[visible _ true]. "don't bother clipping below" visible == false ifTrue:[^nil]. "Step 3: Light the vertices of the mesh." self privateNeedsShadingVB ifTrue:[self privateShadeVB: vertexBuffer]. "Step 4: Clip the mesh if necessary" (visible == nil) ifTrue:[visible _ self privatePostClipVB: vertexBuffer]. visible == false ifTrue:[^self]. "Step 5: Rasterize the mesh" ^self privateRasterizeVB: vertexBuffer.! !