public static void convertToFloatArray(CraterPolynomio c,ref float[] o) { // float[] if(o==null) o = new float[21]; o[0] = 0; o[1] = c.x; o[2] = c.y; o[3] = c.p1_min; o[4] = c.p1_max; o[5] = c.p1_w0; o[6] = c.p1_w1; o[7] = c.p1_w2; o[8] = c.p1_w3; // second poly o[9] = c.p2_min; o[10] = c.p2_max; o[11] = c.p2_w0; o[12] = c.p2_w1; o[13] = c.p2_w2; o[14] = c.p2_w3; // first gaussian o[15] = c.g1_min ; o[16] = c.g1_max ; o[17] = c.g1_mean; o[18] = c.g1_sigma; o[19] = c.g1_h ; o[20] = c.g1_hs ; //return o; }
public void updateShader(CraterPolynomio c) { SharedMemoryUtil.convertToFloatArray(c,ref arr); craterParamsBuffer.SetData(arr); /* SetFloat("x",c.x); SetFloat("y",c.y); SetFloat ("p1_max", c.p1_max); SetFloat ("p1_min",c.p1_min); SetFloat ("p1_w0", c.p1_w0); SetFloat ("p1_w1",c.p1_w1); SetFloat ("p1_w2", c.p1_w2); SetFloat ("p1_w3", c.p1_w3); SetFloat ("p2_max", c.p2_max); SetFloat ("p2_min",c.p2_min); SetFloat ("p2_w0", c.p2_w0); SetFloat ("p2_w1",c.p2_w1); SetFloat ("p2_w2", c.p2_w2); SetFloat ("p2_w3", c.p2_w3); SetFloat ("g1_max", c.g1_max); SetFloat ("g1_min", c.g1_min); SetFloat ("g1_mean", c.g1_mean); SetFloat ("g1_sigma", c.g1_sigma); SetFloat ("g1_h", c.g1_h); SetFloat ("g1_hs", c.g1_hs);*/ }
public static extern bool getSyncCraterPolyRequest(CraterPolynomio c);
public CraterRequest() { craterPolynomio = new CraterPolynomio (); }