Camera to orient quaternion
Camera to orient quaternion
skin per primitive id
skin per primitive id
Camera to orient quaternion
Camera to orient quaternionif ( @ptnum == 0 ){    vector front, up, pos_front, pos_up;    matrix3     matx;    vector4     orient;        getattribute(@OpInput1, pos_up,     "point", "P", 1, 0);    getattribute(@OpInput1, pos_front,  "point", "P", 2, 0);        up = normalize(pos_up - @P);    front = normalize(pos_front - @P);        matx = lookat({ 0, 0, 0 }, front, up);        orient = quaternion(matx);    p@orient = orient;    } else {    removepoint(geoself(), @ptnum);}
skin per primitive id
skin per primitive idint prim_A_points[], prim_B_points[], newPrim_points[], prim, num_prim, prim_id[];num_prim = nprimitives(@OpInput1);removeprim(geoself(), @primnum, 0);if ( @primnum < num_prim - 1 ){        getattribute(@OpInput1, prim_id[0], "primitive", "prim_id", @primnum, 0);    getattribute(@OpInput1, prim_id[1], "primitive", "prim_id", @primnum + 1, 0);        if ( prim_id[0] == prim_id[1] ){        prim_A_points = primpoints(geoself(), @primnum);        prim_B_points = primpoints(geoself(), @primnum + 1);                    for ( int i = 0; i < len(prim_A_points); i++ ){                        prim = addprim(geoself(), "poly");                        if ( i == len(prim_A_points) - 1 ){                addvertex(geoself(), prim, prim_B_points[i]);                addvertex(geoself(), prim, prim_B_points[0]);                addvertex(geoself(), prim, prim_A_points[0]);                addvertex(geoself(), prim, prim_A_points[i]);            }            else {                addvertex(geoself(), prim, prim_B_points[i]);                addvertex(geoself(), prim, prim_B_points[i + 1]);                addvertex(geoself(), prim, prim_A_points[i + 1]);                addvertex(geoself(), prim, prim_A_points[i]);            }        }    }}
info
prev / next