diff --git a/pandatool/src/mayaegg/mayaToEggConverter.cxx b/pandatool/src/mayaegg/mayaToEggConverter.cxx index a298db5d37..6dd1d58ac1 100644 --- a/pandatool/src/mayaegg/mayaToEggConverter.cxx +++ b/pandatool/src/mayaegg/mayaToEggConverter.cxx @@ -893,6 +893,32 @@ process_model_node(MayaNodeDesc *node_desc) { << "Ignoring light node " << path << "\n"; } + /* + MFnLight light (dag_path, &status); + if ( !status ) { + status.perror("MFnLight constructor"); + mayaegg_cat.error() << "light extraction failed" << endl; + return false; + } + + // Get the translation/rotation/scale data + //printTransformData(dag_path, quiet); + + // Extract some interesting Light data + MColor color; + + color = light.color(); + cout << " color: [" + << color.r << ", " + << color.g << ", " + << color.b << "]\n"; + color = light.shadowColor(); + cout << " shadowColor: [" + << color.r << ", " + << color.g << ", " + << color.b << "]\n"; + + cout << " intensity: " << light.intensity() << endl; } else if (dag_path.hasFn(MFn::kNurbsSurface)) { EggGroup *egg_group = _tree.get_egg_group(node_desc); @@ -909,7 +935,7 @@ process_model_node(MayaNodeDesc *node_desc) { make_nurbs_surface(node_desc, dag_path, surface, egg_group); } } - + */ } else if (dag_path.hasFn(MFn::kNurbsCurve)) { // Only convert NurbsCurves if we aren't making an animated model. // Animated models, as a general rule, don't want these sorts of @@ -2045,15 +2071,19 @@ make_polyset(MayaNodeDesc *node_desc, const MDagPath &dag_path, status.perror("MItMeshPolygon::getUV"); } else { if (_round_uvs) { - // apply upto 1/1000th precision, but round up - uvs[0] = (long)(uvs[0]*1000); - uvs[1] = (long)(uvs[1]*1000); - //cout << "before rounding uvs[0]: " << uvs[0] << endl; - //cout << "before rounding uvs[1]: " << uvs[1] << endl; - uvs[0] = (double)(round((double)uvs[0]/10.0)*10.0)/1000.0; - uvs[1] = (double)(round((double)uvs[1]/10.0)*10.0)/1000.0; - //cout << "after rounding uvs[0]: " << uvs[0] << endl; - //cout << "after rounding uvs[1]: " << uvs[1] << endl; + if (uvs[0] > 1.0 || uvs[0] < -1.0) { + // apply upto 1/1000th precision, but round up + uvs[0] = (long)(uvs[0]*1000); + cout << "before rounding uvs[0]: " << uvs[0] << endl; + uvs[0] = (double)(round((double)uvs[0]/10.0)*10.0)/1000.0; + cout << "after rounding uvs[0]: " << uvs[0] << endl; + } + if (uvs[1] > 1.0 || uvs[1] < -1.0) { + uvs[1] = (long)(uvs[1]*1000); + cout << "before rounding uvs[1]: " << uvs[1] << endl; + uvs[1] = (double)(round((double)uvs[1]/10.0)*10.0)/1000.0; + cout << "after rounding uvs[1]: " << uvs[1] << endl; + } } vert.set_uv(colordef_uv_name, TexCoordd(uvs[0], uvs[1])); }