CSG is commonly used for raytracers because it is well suited to the ray trace algorithym.
CSG however is totally unsuited to modern 3D cards, which use a form of BREP (Boundary Represetnation) and render descrete textured polygons projected into 2 dimensions.
The only way to do CSG and end up on a 3D card is to do a CSG to BREP conversion. This is a time-consuming and somewhat complicated operation. You can find papers on how to do it dating back about 10 years ago in SIGGRAPH proceedings, but the short form is bascially this:
For any 2 solids and a CSG operation:
(1) COnvert the solids to their BREP form (may be an approximation if curved surfaces are involved).
(2) Split all the intersecting polygons of each solid into polys that are either totally inside or totally outside of the space contained by the other solid.
(3) collect all the polygons that satisfy th operation
(4)reassemble into a new solid.