- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 osg学习之HUD设置的七个步骤
HUD本质1、HUD是二维的2、必须要在最后渲染3、需要在其他相机的基础上进行渲染4、不接受窗口事件5、始终显示6、HUD本质上就是一个Camera相机HUD创建步骤1、创建一个Camera相机,用于HUD,根据HUD本质属性进行设置;2、创建一个文字对象,进行属性设置,并加入Geode节点;3、创建一个几何体,压入顶点,并设置法线;4、创建纹理坐标;5、创建一个纹理对象,并与纹理坐标绑定;6、将纹理坐标贴上;...
2021-02-04 09:51:46
834
原创 osg学习之相机跟随
最近一直在研究osg中关于相机跟随节点运动方面的事情,有一些收获,此处记录一下。现将实现效果展示一下。程序初始化运行后,视点在坦克模型后方100处,如下图所示:当按下键盘中的“A”键时,坦克模型向左转,视点同时进行跟随,如下图所示:向右转向基本相同,此处不再截图演示。以上功能看似较为简单,仔细研究了一下,将其中与数学相关的部分抽取了出来,建立坐标模型如下图所示:上述问题抽象为数学问题来表达的话,可以表述为有一个以O点为中心、半径为R的圆,点A、B都在圆上,A的坐标为(x0, y0),B的坐
2021-02-04 09:51:17
916
1
原创 osg学习之访问器简单总结
对访问器原理进行一下简单总结与访问器相关有三个重要的函数,现将它们简单总结一下。accept函数accept函数顾名思义,就是用于接受访问器,所以这个函数被定义在基类osg::Node中,用于osg::NodeVisitor访问器中的apply方法,函数定义与实现代码如下:/** Visitor Pattern : calls the apply method of a NodeVisitor with this node's type.*/virtual void accept(NodeVisi
2021-01-26 15:37:00
574
原创 C++类对象内存分布调试结果整理
1、没有数据成员的类代码:class Base {};int main(){ Base cobj; std::cout << "Base size is : " << sizeof(Base) << std::endl; return 0;}调试:结论:对于没有成员变量的类,编译器会强行(隐式)地插入一个字节,保证此种特殊类在实例化时具有指针地址空间。2、只有数据成员的类代码:class Base {private: in
2021-01-19 17:17:53
127
原创 osg学习之智能指针
osg的内存管理主要通过osg::Referenced和osg::ref_ptr两个重要的类以智能指针的形式实现的。类图osg::Referenced类图如下图所示:osg::ref_ptr类图如下图所示:堆内存释放问题众所周知,C++内存管理中一个老大难的问题就是堆上的内存释放问题,主要面临两个问题,一是由于程序员的疏忽常常忘记释放,二是意外的提前释放导致其它正在使用此指针的对象出现程序运行崩溃。智能指针解决方案智能指针如何解决以上问题?第一个问题的解决方案,对比栈内存使用方法,我们可
2021-01-19 16:51:19
560
原创 OSG飞机姿态控制笔记
飞机飞行姿态控制。飞机机头俯仰摆动根据代码分析,本质上是飞机绕X轴进行旋转,代码如下:例如,让机头仰起30度float roll = osg::inDegrees(-30.0f);osg::Quat rotation(osg::Quat(roll, osg::Vec3(1.0, 0.0, 0.0)));运行效果:例如,让机头俯下30度float roll = osg::inDegrees(30.0f);osg::Quat rotation(osg::Quat(roll, osg::Ve
2021-01-15 17:46:38
1667
3
原创 OSG旋转之欧拉角度旋转
左手坐标系下欧拉旋转定义欧拉旋转需要计算3个旋转分量的作用之和,即沿Z轴的航向(Heading)角度、沿X轴的俯仰(Pitch)角度以及沿Y轴的横滚(Roll)角度。
2021-01-15 17:46:05
600
原创 OSG视图相关类简单整理
osgViewer::Viewer osgViewer::Viewer为一个单独的场景scene保存一个单独的view,单视图的管理是通过osgViewer::Viewer来实现的。在osgViewer::Viewer中,只允许单视图,单视图可以同时包含多个相机渲染,也可以在多窗口中渲染。为了能够进行正常的渲染,还需要创建一个图形环境(默认的情况下已经创建了一个)。有时为了方便控制场景渲染,需要设置一个合适的图形环境窗口。osgViewer::Viewosg::View主要用来管理所有的相机视图。它
2021-01-15 17:44:26
607
原创 osg视图VPW矩阵变换总结
1、V 表示摄像机的观察矩阵(View Matrix),它的作用是把对象从世界坐标系变换到摄像机坐标系。因此,对于世界坐标系下的坐标值worldCoord(x0, y0, z0),如果希望使用观察矩阵VM 将其变换为摄像机相对坐标系下的坐标值localCoord(x’, y’, z’),则有:localCoord = worldCoord * VM此外,观察矩阵可以理解为“摄像机在世界坐标系下的变换矩阵的逆矩阵”,因此Camera类也专门提供了getInverseViewMatrix 这样一个函数,它的
2021-01-15 17:43:52
1199
原创 serverless技术架构详解系列(一)
#背景最近,继微服务后,无服务器(serverless)架构概念比较火热,这里搜集一些相关资料,希望为后续的工作提供一些思路。#名词解释severless:无服务器baas(Backend as a Service):后端即服务faas(Functions as a Service):函数即服务#前言无服务器计算是云原生架构,能够让程序开发者可以在不考虑服务器的情况下构建并运行应用程...
2019-11-01 17:04:19
671
原创 windows环境下搭建mysql数据库docker容器
windows环境下搭建mysql数据库docker容器最近因项目需要,要在windows环境下搭建一个以容器镜像运行的mysql数据库,本以为是件简单的事情,结果遇到不少坑,所以在这里记录下来以和大家共享。运行环境操作系统:Windows 10家庭中文版Windows Docker安装包:Docker Toolbox version 19.03.1Docker compose文件:v...
2019-10-18 11:55:18
813
1
osgWithEarthReferenceDocs_3.4.0-2.8.0 .chm
2021-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人