博客
关于我
OSG学习:新建C++/CLI工程并读取模型(C++/CLI)——根据OSG官方示例代码初步理解其方法
阅读量:795 次
发布时间:2023-02-26

本文共 1249 字,大约阅读时间需要 4 分钟。

C++/CLI与OSG的示例代码:两部分同时下载并解压

一、创建工程并设置界面

1、创建C++/CLI工程

打开Visual Studio(以2017为例),点击文件——新建——项目——Visual C++——CLR。如果没有CLR,可打开Visual Studio Installer并安装CLR。

2、配置OSG内容

在项目属性中设置:

  • 活动配置:选择Debug模式,平台为64位。
  • VC++目录:将OSG的include路径添加到include目录,将lib文件路径添加到lib目录。
  • C/C++——处理器:在预处理器定义中添加WIN32。
  • 链接器——输入:添加OpenThreadsd.lib、osgd.lib、osgDBd.lib、osgUtild.lib、osgGAd.lib、osgViewerd.lib、osgTextd.lib。

完成上述设置后,将工具栏的86位模式改为64位。

二、创建UI界面

1、添加窗体项目

在项目名称右键添加新建项,选择Windows窗体。

2、界面布局

  • 设置Form大小合适。
  • 添加MenuStrip,添加File和Help菜单,File下再添加Open和Exit选项(可自定义为中文)。
  • 添加SplitContainer,分为两部分:左侧用于模型,右侧添加按钮。
  • 在左侧Panel1添加Label,并设置相关属性。
  • 在右侧Panel2添加StatusStrip,设置名称为osgStatus,并添加StatusLabel以显示帧率。
  • 在右侧Panel2添加四个按钮(Up、Down、Left、Right),并设置按钮属性。

三、代码实现

1、创建入口文件main.cpp

在源文件中添加main.cpp,内容如下:

#include "OSGForm.h"
using namespace System;
using namespace System::Windows::Forms;
using namespace OSGCppCli;
int main(array
args)
{
OSGForm form = gcnew OSGForm();
Application::Run(form);
return 0;
}

2、创建标准系统文件

  • 添加stdafx.h文件,包含标准系统头文件。
  • 添加stdafx.cpp文件,包含标准库文件。

3、声明和定义全局变量及函数

  • 在OSGForm.h中声明相关变量和函数。
  • 在OSGForm.cpp中实现函数。

4、添加事件处理

在Form的事件中添加处理函数,如Load事件调用InitOSG,openToolStripMenuItem_Click事件用于打开文件,exitToolStripMenuItem_Click事件用于退出程序等。

四、运行程序

在Visual Studio中选择“生成”并运行程序。打开文件选择对应的OSG文件,程序将开始渲染并显示模型。

转载地址:http://zuvfk.baihongyu.com/

你可能感兴趣的文章
OpenMCU(一):STM32F407 FreeRTOS移植
查看>>
OpenMCU(三):STM32F103 FreeRTOS移植
查看>>
OpenMCU(二):GD32E23xx FreeRTOS移植
查看>>
OpenMetadata 命令执行漏洞复现(CVE-2024-28255)
查看>>
OpenMMLab | S4模型详解:应对长序列建模的有效方法
查看>>
OpenMMLab | 【全网首发】Llama 3 微调项目实践与教程(XTuner 版)
查看>>
OpenMMLab | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
查看>>
OpenMV入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
查看>>
OpenObserve云原生可观测平台本地Docker部署与远程访问实战教程
查看>>
openoffice使用总结001---版本匹配问题unknown document format for file: E:\apache-tomcat-8.5.23\webapps\ZcnsDms\
查看>>
OpenPPL PPQ量化(4):计算图的切分和调度 源码剖析
查看>>
OpenPPL PPQ量化(5):执行引擎 源码剖析
查看>>
openpyxl 模块的使用
查看>>
OpenResty(nginx扩展)实现防cc攻击
查看>>
Openresty框架入门详解
查看>>
OpenResty(1):openresty介绍
查看>>
OpenResty(2):OpenResty开发环境搭建
查看>>
OpenResty(3):OpenResty快速入门之安装lua
查看>>
OpenResty(4):OpenResty快速入门
查看>>
OpenResty(5):Openresty 模板渲染
查看>>