240 发简信
IP属地:陕西
  • @杨石兴 我去,(0,0,8)终于可以看默认朝向了:joy: 这是因为咱们axes.osgt不一样吗?为啥您的(0,-8,1)是可以看的,而我的却要是(0,0,8)

    第09节 实例-最简单的第一人称漫游操作器

    缘由 群友:挑战高起点 在群里问了这么一个问题: 因此我觉得它是对操作器的视口默认值以及旋转方式搞糊涂了。如果不理理清楚,基本上后面很多事情都没法办。我准备写个小例子帮助大...

  • @杨石兴 杨总,看了好久了,代码一样,按q和e时,表现形式是向左平移和向右平移,

    第09节 实例-最简单的第一人称漫游操作器

    缘由 群友:挑战高起点 在群里问了这么一个问题: 因此我觉得它是对操作器的视口默认值以及旋转方式搞糊涂了。如果不理理清楚,基本上后面很多事情都没法办。我准备写个小例子帮助大...

  • @挑战高起点 先把所有的顶点push进去,然后用两个primitive把顶点按照每4个顶点一个矩形组织起来,然后再adddrawable,就是许多矩形框了

    第09节 实例-最简单的第一人称漫游操作器

    缘由 群友:挑战高起点 在群里问了这么一个问题: 因此我觉得它是对操作器的视口默认值以及旋转方式搞糊涂了。如果不理理清楚,基本上后面很多事情都没法办。我准备写个小例子帮助大...

  • @杨石兴 杨总,默认什么都看不到是正常的吗,我看您的默认朝向也是能看到坐标轴的,我的是在场景中什么都看不到,我上面的代码就是默认场景的代码

    第09节 实例-最简单的第一人称漫游操作器

    缘由 群友:挑战高起点 在群里问了这么一个问题: 因此我觉得它是对操作器的视口默认值以及旋转方式搞糊涂了。如果不理理清楚,基本上后面很多事情都没法办。我准备写个小例子帮助大...

  • 杨总,我准备自己看下默认朝向,操作器代码如下:
    class TravelCameraManipulator:public osgGA::CameraManipulator
    {
    public:
    TravelCameraManipulator()
    {
    _eye=osg::Vec3d(0.0,-8,1.0);
    _rotation=osg::Vec3d(0.0,0.0,0.0);
    }

    //这三个纯虚函数本例不会使用
    virtual void setByMatrix(const osg::Matrixd& matrix) {};
    virtual void setByInverseMatrix(const osg::Matrixd& matrix) {};
    virtual osg::Matrixd getMatrix() const { return osg::Matrix::identity(); };

    virtual osg::Matrixd getInverseMatrix() const
    {
    return osg::Matrix::inverse(osg::Matrix::rotate(_rotation.x(),osg::X_AXIS,
    _rotation.y(),osg::Y_AXIS,_rotation.z(),
    osg::Z_AXIS)*osg::Matrix::translate(_eye));
    }

    virtual bool handle(const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
    {
    return false;
    }

    private:
    osg::Vec3d _eye;
    //视点朝向
    osg::Vec3d _rotation;
    };
    就看坐标轴,场景中什么也看不到,
    但是rotation=osg::Vec3d(osg::InDegree(90).0,0.0,0.0);的时候,跟您的表现形式是一样的,能看到绕x逆转90度后的坐标轴

    第09节 实例-最简单的第一人称漫游操作器

    缘由 群友:挑战高起点 在群里问了这么一个问题: 因此我觉得它是对操作器的视口默认值以及旋转方式搞糊涂了。如果不理理清楚,基本上后面很多事情都没法办。我准备写个小例子帮助大...

  • @杨石兴 我明白是方向,变动z,视角方向肯定有明显变换吧,但是我没看到有什么改变

    第08节 实例-写个简单的操作器

    缘由应四川的群友:挑战高起点 的要求,我给大家写一个最简单的操作器,读完本文以最大程度让读者掌握在OSG中写个操作器是咋回事儿。代码在最后一个代码块,直接新建OSG工程,拷...

  • 杨总,我今天专门写了下这个代码。目的是想看看改变_eye的z,改变_up的z后,场景视角有什么变化,结果没变化。

    第08节 实例-写个简单的操作器

    缘由应四川的群友:挑战高起点 的要求,我给大家写一个最简单的操作器,读完本文以最大程度让读者掌握在OSG中写个操作器是咋回事儿。代码在最后一个代码块,直接新建OSG工程,拷...

  • 杨总,有个问题,oe是wgs84坐标系,我要在天空中画个点,但是我这个点的坐标是j2000坐标系下的,oe有没有这个函数,一句话就能实现wgs84到j2000的互转

    第18.2节 OE3.1实例-在地表绘制点画线

    致谢 感谢网友提出这个问题。大家有问题也可以在评论区提出,有问必有答。如果涉及商业需求,需要较完整/详尽的工程,可以联系作者133-2459-8743。 问题描述 网友提出要...

  • 类似正余弦的曲线阴影

    第13节 实例-彩色转灰度(做假红外)

    感谢 感谢网友提出这个问题。大家有问题也可以在评论区提出,有问必有答。 功能描述 网友问怎么做出来一个假红外,其实只需要一个RTT就可以了,但是网友表示用了也不行,估计是有B...

  • @杨石兴 啥?杨总,您是不是误会我的意思了,平面地球不是没有光照么,我怎么设置平面地球的太阳光照,出来的应该是类似正余弦那样的曲线

    第13节 实例-彩色转灰度(做假红外)

    感谢 感谢网友提出这个问题。大家有问题也可以在评论区提出,有问必有答。 功能描述 网友问怎么做出来一个假红外,其实只需要一个RTT就可以了,但是网友表示用了也不行,估计是有B...

  • 杨总,既然说到oe了,我提个跟oe强相关的问题,如果这个不在您的计划范围内,您就忽略吧。问题:三维地球可直接开启太阳光照,将三维地球展开为平面地球,那么这个平面地球的光照是怎么展现的呢?

    第13节 实例-彩色转灰度(做假红外)

    感谢 感谢网友提出这个问题。大家有问题也可以在评论区提出,有问必有答。 功能描述 网友问怎么做出来一个假红外,其实只需要一个RTT就可以了,但是网友表示用了也不行,估计是有B...

  • 杨总,请问这块为什么用osg::quat呢,有什么内涵吗,vec不行吗

    第10节 实例-双击跑过去操作器

    缘由 网友:KeepSmile 提出来能否做一个双击之后,跑过去的例子。大家如果在学习或工作中实现某个功能上需要我写一些例子和分析,可以在本文之后把功能描述清楚在评论区回复或...