3D OpenGL Engine

BlitzPlus Forums/BlitzPlus Programming/3D OpenGL Engine

I have to add some CSG brush stuff to do the last kind of dynamic light. You can create CSGBrushes, kind of like meshes. Here are some example commands:

CreateCSGBrush()
AddCSGBrushFace(nx#,ny#,nz#,d#)
CountCSGBrushFaces()
GetCSGBrushFace()
CompileCSGBrush(); Create a mesh from the plane faces
CountFaceTriangles()
GetFaceTriangle(); accesses the mesh this CSG brush created!

And then...

AddBSPNode()
CompileBSP()
PointBSPNode(x#,y#,z#); what area of the tree is this point in?
LineBSPNode(Ax#,Ay#,Az#,Bx#,By#,Bz#,Cx#,Cy#,Cz#,[radius#]); highest node this line "crosses" up to. Radius can be used for sphere collisions.
BSPNodeVisible(camera)
BSPPointVisible(camera)