         }
         
         @inline(__always)
-        func _render(rasterizer: ImageContextRenderBuffer<Pixel>, position: (G.Vertex.Position) -> Point, depthFun: ((G.Vertex.Position) -> Double)?, shader: (ImageContextRenderStageIn<G.Vertex>) -> P?) {
+        func _render(rasterizer: ImageContextRenderBuffer<Pixel>, projection: (G.Vertex.Position) -> Point, depthFun: ((G.Vertex.Position) -> Double)?, shader: (ImageContextRenderStageIn<G.Vertex>) -> P?) {
             
-            triangles.render(position: position) { v0, v1, v2 in
+            triangles.render(projection: projection) { v0, v1, v2 in
                 
                 let _v0 = v0.position
                 let _v1 = v1.position

    }
    
    @inlinable
    func render(position: (Vertex.Position) -> Point, _ body: (Vertex, Vertex, Vertex) -> Void) {
        base.forEach(body)
    }
}

        self.vertex = stageIn.vertex.vertex
        self.triangle = stageIn.triangle
        self.barycentric = stageIn.barycentric
        self.projection = stageIn.projection
        self.facing = stageIn.facing
        self.depth = stageIn.depth
    }
