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


C++ Mat4::PostTranslate方法代码示例

本文整理汇总了C++中Mat4::PostTranslate方法的典型用法代码示例。如果您正苦于以下问题:C++ Mat4::PostTranslate方法的具体用法?C++ Mat4::PostTranslate怎么用?C++ Mat4::PostTranslate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mat4的用法示例。


在下文中一共展示了Mat4::PostTranslate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

Mat4 Mat4::LookAt( const Vec3& vec_eye, const Vec3& vec_at, const Vec3& vec_up )
{
    Vec3 vec_forward, vec_up_norm, vec_side;
    Mat4 result;

    vec_forward.x_ = vec_eye.x_ - vec_at.x_;
    vec_forward.y_ = vec_eye.y_ - vec_at.y_;
    vec_forward.z_ = vec_eye.z_ - vec_at.z_;

    vec_forward.Normalize();
    vec_up_norm = vec_up;
    vec_up_norm.Normalize();
    vec_side = vec_up_norm.Cross( vec_forward );
    vec_up_norm = vec_forward.Cross( vec_side );

    result.f_[0] = vec_side.x_;
    result.f_[4] = vec_side.y_;
    result.f_[8] = vec_side.z_;
    result.f_[12] = 0;
    result.f_[1] = vec_up_norm.x_;
    result.f_[5] = vec_up_norm.y_;
    result.f_[9] = vec_up_norm.z_;
    result.f_[13] = 0;
    result.f_[2] = vec_forward.x_;
    result.f_[6] = vec_forward.y_;
    result.f_[10] = vec_forward.z_;
    result.f_[14] = 0;
    result.f_[3] = 0;
    result.f_[7] = 0;
    result.f_[11] = 0;
    result.f_[15] = 1.0;

    result.PostTranslate( -vec_eye.x_, -vec_eye.y_, -vec_eye.z_ );
    return result;
}
开发者ID:007gzs,项目名称:android-platform-ndk,代码行数:35,代码来源:vecmath.cpp


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