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

本文共 1240 字,大约阅读时间需要 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/

你可能感兴趣的文章
Oracle监听配置、数据库实例配置等
查看>>
oracle系统 介绍,ORACLE数据库管理系统介绍
查看>>
oracle获取数据库表、字段、注释、约束等
查看>>
Oracle计划将ZGC项目提交给OpenJDK
查看>>
Oracle闪回技术(Flashback)
查看>>
oracle零碎要点---ip地址问题,服务问题,系统默认密码问题
查看>>
oracle零碎要点---oracle em的web访问地址忘了
查看>>
Oracle零碎要点---多表联合查询,收集数据库基本资料
查看>>
Oracle静默安装
查看>>
Oracle面试题:Oracle中truncate和delete的区别
查看>>
TCP基本入门-简单认识一下什么是TCP
查看>>
Orcale表被锁
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>
org.tinygroup.serviceprocessor-服务处理器
查看>>
org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
查看>>
org/hibernate/validator/internal/engine
查看>>