public ProjectiveTransformerCL(JavaCVCL context, CvMat K1, CvMat K2, CvMat R, CvMat t, CvMat n,
double[] referencePoints1, double[] referencePoints2) {
super(K1, K2, R, t, n, referencePoints1, referencePoints2);
final int dotSize = createParameters().size();
this.context = context;
this.HBuffer = context.getCLContext().createFloatBuffer(dotSize*9, CLBuffer.Mem.READ_ONLY);
if (getClass() == ProjectiveTransformerCL.class) {
CLKernel[] kernels = context.buildKernels(
JavaCVCL.fastCompilerOptions + " -DDOT_SIZE=" + dotSize,
"ImageTransformer.cl:ProjectiveTransformer.cl",
"transformOne", "transformSub", "transformDot", "reduceOutputData");
this.oneKernel = kernels[0];
this.subKernel = kernels[1];
this.dotKernel = kernels[2];
this.reduceKernel = kernels[3];
}
}