本文整理汇总了C++中osg::Matrix::setValueTransposed方法的典型用法代码示例。如果您正苦于以下问题:C++ Matrix::setValueTransposed方法的具体用法?C++ Matrix::setValueTransposed怎么用?C++ Matrix::setValueTransposed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osg::Matrix
的用法示例。
在下文中一共展示了Matrix::setValueTransposed方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MatrixOrthogonal
OSG_BEGIN_NAMESPACE
OSG_BASE_DLLMAPPING bool MatrixOrthogonal(OSG::Matrix &result,
OSG::Real32 rLeft,
OSG::Real32 rRight,
OSG::Real32 rBottom,
OSG::Real32 rTop,
OSG::Real32 rNear,
OSG::Real32 rFar)
{
result.setValueTransposed(
2.f / (rRight - rLeft),
0.f,
0.f,
0.f,
0.f,
2.f / (rTop - rBottom),
0.f,
0.f,
0.f,
0.f,
-2.f / (rFar - rNear),
0.f,
-(rRight + rLeft ) / (rRight - rLeft ),
-(rTop + rBottom) / (rTop - rBottom),
-(rFar + rNear ) / (rFar - rNear ),
1.);
return false;
}
示例2: MatrixFrustum
OSG_BASE_DLLMAPPING bool MatrixFrustum(OSG::Matrix &result,
OSG::Real32 rLeft,
OSG::Real32 rRight,
OSG::Real32 rBottom,
OSG::Real32 rTop,
OSG::Real32 rNear,
OSG::Real32 rFar)
{
Real32 dz = rFar - rNear;
Real32 dx = rRight - rLeft;
Real32 dy = rTop - rBottom;
Real32 n2 = 2.f * rNear;
result.setValueTransposed(
n2 / dx,
0.f,
0.f,
0.f,
0.f,
n2 / dy,
0.f,
0.f,
(rRight + rLeft ) / dx,
(rTop + rBottom) / dy,
-(rFar + rNear ) / dz,
-1.f,
0.f,
0.f,
-(rFar * n2) / dz,
0.f);
return false;
}