canvas::Element: parse full 3x3 matrix
This doesn't change any existing behaviour but allows specifying full 3x3 matrix to eg. perform a perspective transform needed for some HUDs.
This commit is contained in:
parent
beca1cbf96
commit
724fba4af9
@ -88,14 +88,24 @@ namespace canvas
|
|||||||
{
|
{
|
||||||
case TT_MATRIX:
|
case TT_MATRIX:
|
||||||
tf = osg::Matrix( tf_node->getDoubleValue("m[0]", 1),
|
tf = osg::Matrix( tf_node->getDoubleValue("m[0]", 1),
|
||||||
tf_node->getDoubleValue("m[1]", 0), 0, 0,
|
tf_node->getDoubleValue("m[1]", 0),
|
||||||
|
0,
|
||||||
|
tf_node->getDoubleValue("m[6]", 0),
|
||||||
|
|
||||||
tf_node->getDoubleValue("m[2]", 0),
|
tf_node->getDoubleValue("m[2]", 0),
|
||||||
tf_node->getDoubleValue("m[3]", 1), 0, 0,
|
tf_node->getDoubleValue("m[3]", 1),
|
||||||
|
0,
|
||||||
|
tf_node->getDoubleValue("m[7]", 0),
|
||||||
|
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
|
||||||
0, 0, 1, 0,
|
|
||||||
tf_node->getDoubleValue("m[4]", 0),
|
tf_node->getDoubleValue("m[4]", 0),
|
||||||
tf_node->getDoubleValue("m[5]", 0), 0, 1 );
|
tf_node->getDoubleValue("m[5]", 0),
|
||||||
|
0,
|
||||||
|
tf_node->getDoubleValue("m[8]", 1) );
|
||||||
break;
|
break;
|
||||||
case TT_TRANSLATE:
|
case TT_TRANSLATE:
|
||||||
tf.makeTranslate( osg::Vec3f( tf_node->getDoubleValue("t[0]", 0),
|
tf.makeTranslate( osg::Vec3f( tf_node->getDoubleValue("t[0]", 0),
|
||||||
|
Loading…
Reference in New Issue
Block a user