随笔分类 - OSG三维开发
摘要:前言 OSG内置的几何图形并没有球面,那么绘制球面先要绘制球面的组成顶点,本篇解说绘制球面组成顶点的详细过程。 Demo 组成面的时候,为了看到是否正确,取中间的几个圆环: 回顾OSG坐标系理解 OSG的坐标系类似于Qt场景坐标系,场景有场景的坐标系,图元有图元的坐标系,视图有视图的坐标系。与此类似
阅读全文
摘要:前言 在OSG中,对于一些效果未被选中或者包含等业务,需要半透明效果来实现。 本篇描述OSG的半透明实现方式。 Demo 透明 功能概述 透明效果在三维场景中扮演着重要角色,它能够模拟玻璃、水体、烟雾等自然现象,增加场景的层次感和真实感。然而,透明效果的实现并非易事,它涉及到复杂的渲染技术和算法。O
阅读全文
摘要:前言 本篇编译osg3.3.0的msvc2017x64版本,验证书中的从相机demo。 OSG编译 步骤一:下载解压 下载版本,由于官方的其他路径没有直接给出3.0.0,需要自己切换分支,代码地址:https://github.com/openscenegraph/OpenSceneGraph/tr
阅读全文
摘要:前言 自行编译的osg版本插件比较多,如果对版本没有特定要求,但是对环境编译器有特定要求,可以反向融合编译器符合要求的osg版本。 OSG下载过程 osg官网:http://www.osgchina.org 由于我们不使用osgQt模块,下载了也无所谓,反正不用,这里是osg3.6.4,为了更好的兼
阅读全文
摘要:前言 本篇编译osg3.4.0的msvc2017x64版本,之前使用的都是mingw32版本。 OSG编译 步骤一:下载解压 下载3.4.0版本。 步骤二:使用cmake配置 因为是64位,可以通过后续配置cmake用x64,也可以直接选择构架: 继续: 要修改下安装的路径,方便提取库: 默认是32
阅读全文
摘要:前言 在OSG中,osgUtil::Optimizer是一个非常重要的工具类,它提供了一系列优化场景图的方法,以提高渲染性能和效率。 Demo 测试的一个模型: 在笔者的pc上,优化前优化后渲染交互没啥区别,可能是使用的是一个没有分部件的STL大模型原型,内存32GB,以下为cpu和显卡: 这是未优
阅读全文
摘要:前言 对于一些较大的图形,会出现显示卡顿和渲染缓慢的问题,这时候就要使用到osgUtil::Simplifier简化器,来对其进行简化。 Demo osgUtil osgUtil库是osg的四大核心库之一,OSG 核心库提供了用于场景图形操作的核心场景图形功能、类和方法;开发3D图形程序所需的某些特
阅读全文
摘要:前言 前面的相机hud可以单独显示图形,继续深入研究相机hud,技术就是子视图了,实现该功能的直接技术是从相机技术。 本篇描述osg从相机技术 Demo 相机视口的关键调用 是否清除颜色深度缓存(清除) pCamera->setClearMask(GL_DEPTH_BUFFER_BIT); 如果不清
阅读全文
摘要:前言 深入理解相机视口,摸索相机视口旋转功能,背景透明或者不透明。 本篇,实现了一个左下角旋转HUD且背景透明的相机视口。 Demo HUD相机的坐标 抬头HUD就是通过投影矩阵来实现,具体可参看《OSG开发笔记(二十):OSG使用HUD显示文字》 Hud要单独创建一个新相机 注意关闭光照,不受光照
阅读全文
摘要:前言 模型较大的时候,出现卡顿,那么使用LOD(细节层次)进行层次细节调整,可以让原本卡顿的模型变得不卡顿。 本就是LOD介绍。 Demo LOD 概述 LOD也称为层次细节模型,是一种实时三维计算机图形技术,旨在通过根据物体在场景中的位置和重要性动态调整其渲染的详细程度,从而提高渲染效率和性能。
阅读全文
摘要:需求 1.使用osg三维引擎进行动力学模型仿真性能测试; 2.打开动力学仿真模型文件,.k后缀的模型文件,测试加载解析过程; 3.解决第三方company的opengl制作的三维引擎,绘制面较多与弹丸路径模拟较卡顿的问题; 4.测试时,使用的模型为公开模型,基础面数量达到160多万个; 5.测试时,
阅读全文
摘要:前言 Osg需要打开模型文件,但是遇到显示动力学仿真的K模型文件,.k文件是一种描述材料属性的文件,比如密度、弹性模量等,该模型文件不是常规中间开放格式,无法直接支持,需要自定义解析并且重建三维模型。 Demo 实际非常流程,因为视频转gif导致部分看起来不行: 交互流畅性测试 实际研发需要用不同的
阅读全文