You are not supposed to mix this. If you keep track of your state changes yourself and restore the ones that existed before executing your own commands, it will work. Everything else will screw things up. Keep in mind that OpenGL is state based. Anyway, there's no gl command for doing CSG, so i don't really get the question in this context.