mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 02:15:43 -04:00
With maya notify level set to debug, print out some useful light information if found in the scene, even though it will never make it into the egg file.
This commit is contained in:
parent
ae820a30bc
commit
984314970f
@ -969,7 +969,6 @@ process_model_node(MayaNodeDesc *node_desc) {
|
|||||||
<< "Ignoring light node " << path
|
<< "Ignoring light node " << path
|
||||||
<< "\n";
|
<< "\n";
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
|
|
||||||
MFnLight light (dag_path, &status);
|
MFnLight light (dag_path, &status);
|
||||||
if ( !status ) {
|
if ( !status ) {
|
||||||
@ -977,26 +976,59 @@ process_model_node(MayaNodeDesc *node_desc) {
|
|||||||
mayaegg_cat.error() << "light extraction failed" << endl;
|
mayaegg_cat.error() << "light extraction failed" << endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
mayaegg_cat.debug() << "-- Light found -- tranlations in cm, rotations in rads\n";
|
||||||
|
|
||||||
|
mayaegg_cat.debug() << "\"" << dag_path.partialPathName() << "\" : \n";
|
||||||
|
|
||||||
// Get the translation/rotation/scale data
|
// Get the translation/rotation/scale data
|
||||||
//printTransformData(dag_path, quiet);
|
MObject transformNode = dag_path.transform(&status);
|
||||||
|
// This node has no transform - i.e., it's the world node
|
||||||
|
if (!status && status.statusCode () == MStatus::kInvalidParameter)
|
||||||
|
return false;
|
||||||
|
MFnDagNode transform (transformNode, &status);
|
||||||
|
if (!status) {
|
||||||
|
status.perror("MFnDagNode constructor");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
MTransformationMatrix matrix (transform.transformationMatrix());
|
||||||
|
MVector tl = matrix.getTranslation(MSpace::kWorld);
|
||||||
|
// Stop rediculously small values like -4.43287e-013
|
||||||
|
if (tl.x < 0.0001) {
|
||||||
|
tl.x = 0;
|
||||||
|
}
|
||||||
|
if (tl.y < 0.0001) {
|
||||||
|
tl.y = 0;
|
||||||
|
}
|
||||||
|
if (tl.z < 0.0001) {
|
||||||
|
tl.z = 0;
|
||||||
|
}
|
||||||
|
// We swap Y and Z in the next few bits cuz Panda is Z-up by default and Maya is Y-up
|
||||||
|
mayaegg_cat.debug() << " \"translation\" : (" << tl.x << ", " << tl.z << ", " << tl.y << ")"
|
||||||
|
<< endl;
|
||||||
|
double threeDoubles[3];
|
||||||
|
MTransformationMatrix::RotationOrder rOrder;
|
||||||
|
|
||||||
|
matrix.getRotation (threeDoubles, rOrder, MSpace::kWorld);
|
||||||
|
mayaegg_cat.debug() << " \"rotation\": ("
|
||||||
|
<< threeDoubles[0] << ", "
|
||||||
|
<< threeDoubles[2] << ", "
|
||||||
|
<< threeDoubles[1] << ")\n";
|
||||||
|
matrix.getScale (threeDoubles, MSpace::kWorld);
|
||||||
|
mayaegg_cat.debug() << " \"scale\" : ("
|
||||||
|
<< threeDoubles[0] << ", "
|
||||||
|
<< threeDoubles[2] << ", "
|
||||||
|
<< threeDoubles[1] << ")\n";
|
||||||
|
|
||||||
// Extract some interesting Light data
|
// Extract some interesting Light data
|
||||||
MColor color;
|
MColor color;
|
||||||
|
|
||||||
color = light.color();
|
color = light.color();
|
||||||
cout << " color: ["
|
mayaegg_cat.debug() << " \"color\" : ("
|
||||||
<< color.r << ", "
|
<< color.r << ", "
|
||||||
<< color.g << ", "
|
<< color.g << ", "
|
||||||
<< color.b << "]\n";
|
<< color.b << ")\n";
|
||||||
color = light.shadowColor();
|
color = light.shadowColor();
|
||||||
cout << " shadowColor: ["
|
mayaegg_cat.debug() << " \"intensity\" : " << light.intensity() << endl;
|
||||||
<< color.r << ", "
|
|
||||||
<< color.g << ", "
|
|
||||||
<< color.b << "]\n";
|
|
||||||
|
|
||||||
cout << " intensity: " << light.intensity() << endl;
|
|
||||||
*/
|
|
||||||
} else if (dag_path.hasFn(MFn::kNurbsSurface)) {
|
} else if (dag_path.hasFn(MFn::kNurbsSurface)) {
|
||||||
EggGroup *egg_group = _tree.get_egg_group(node_desc);
|
EggGroup *egg_group = _tree.get_egg_group(node_desc);
|
||||||
get_transform(node_desc, dag_path, egg_group);
|
get_transform(node_desc, dag_path, egg_group);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user