#include <msp/gl/extensions/msp_clipping.h>
#include "clipping.h"
#include "clipplane.h"
+#include "deviceinfo.h"
#include "error.h"
#include "matrix.h"
#include "misc.h"
unsigned Clipping::get_n_attach_points()
{
- static Require _req(MSP_clipping);
- static int count = get_i(GL_MAX_CLIP_PLANES);
- return count;
+ return Limits::get_global().max_clip_planes;
}
void Clipping::attach(const ClipPlane &p)
{
if(find_member(planes, &p, &AttachedPlane::plane)!=planes.end())
return;
- if(planes.size()>=get_n_attach_points())
+ if(planes.size()>=Limits::get_global().max_clip_planes)
throw invalid_operation("Clipping::attach");
planes.push_back(&p);