当前位置: 首页>>代码示例>>C++>>正文


C++ Matrix::setValueTransposed方法代码示例

本文整理汇总了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;
}
开发者ID:danguilliams,项目名称:OpenSGDevMaster_Toolbox,代码行数:34,代码来源:OSGMatrixUtility.cpp

示例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;
}
开发者ID:DaveHarrison,项目名称:OpenSGDevMaster,代码行数:36,代码来源:OSGMatrixUtility.cpp


注:本文中的osg::Matrix::setValueTransposed方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。