Question: How reliable is this behaviour described below? Are all the possible brush attributes matched by FindSurface? (i.e. Color, Alpha, Shininess, Texture, Blend, and FX)
The above quote from the docs is incorrect. FindSurface() seems to return surfaces which were created with the same attributes as the specified brush. See example program:
Output from example program using 1.91: "reusing surface"
FindSurface
Attempts to find a surface attached to the specified mesh and created with the specified brush. Returns the surface handle if found or 0 if not.
Attempts to find a surface attached to the specified mesh and created with the specified brush. Returns the surface handle if found or 0 if not.
The above quote from the docs is incorrect. FindSurface() seems to return surfaces which were created with the same attributes as the specified brush. See example program:
Graphics3D 800,600 mesh = CreateMesh() brush1 = CreateBrush(255, 0, 0) surf1 = CreateSurface(mesh, brush1) brush2 = CreateBrush(255, 0, 0) surf2 = FindSurface(mesh, brush2) If surf2 = surf1 Then Print "reusing surface" Else Print "created a new, redundant surface" EndIf
Output from example program using 1.91: "reusing surface"