推荐:将 NSDT场景编辑器 加入你的3D开发工具链
我们将设置使用 CHAI3D 构建应用程序所需的基本目录结构和文件。根据您可能要使用的显示器或 GUI 库,为 FreeGLUT、.NET 和 Qt 提供了项目模板,可以在 CHAI3D/templates 目录中找到。
首先,我们首先创建一个名为 application 的空目录,在其中设置所有必要的文件。此目录可以在硬盘驱动器上的任何位置创建。 然后我们创建两个子目录,分别称为 bin 和external。bin 目录将包含应用程序的可执行文件以及与之关联的任何资源文件(例如媒体文件、DLL 等)。外部目录将包含应用程序使用的所有外部库,包括 CHAI3D 框架的副本。
在新创建的external目录中,放置 CHAI3D 的副本。如果您的应用程序需要其他框架或库,您也可以在那里放置这些文件的副本。
在 bin 目录中,请创建两个名为 win-Win32 和 win-x64 的子文件夹,您将在其中复制以下可从 CHAI3D/bin/win-Win32 和 CHAI3D/bin/win-x64 目录中可用的 DLL 文件。仅当您计划支持不同的跟踪或触觉设备时,才需要这些 DLL 文件。如果您正在为力维触觉设备开发应用程序,则不需要这些文件。如果您的应用程序包含其他资源文件,例如图像、视频或声音,我们建议您将它们存储在我们在本示例中称为资源的子目录中。
2、创建项目文件
启动 Microsoft Visual Studio 并通过选择菜单 FILE >新建>项目来创建新的项目文件。
选择空项目,然后单击按钮浏览...以找到新创建的目录应用程序。
为项目定义一个名称。在此示例中,我们将项目命名为:myProject。
项目和解决方案文件现已创建,可以在目录应用程序/myProject 中找到
从“生成”>“配置管理器...”菜单中选择配置管理器...。
默认情况下,仅为 32 位编译 (Win32) 创建设置。我们现在为 64 位平台 (x64) 创建新配置。在将其他项目文件添加到解决方案之前执行此步骤非常重要。
选择 x64 作为新平台,然后单击按钮确定
现在,我们将 CHAI3D 项目添加到应用程序中。选择菜单文件>添加>现有项目。
选择与您的 Microsoft Visual Studio 版本对应的项目文件。 当我们在示例中使用 Visual Studio 2013 时,我们选择项目文件 CHAI3D-VS2013.vcxproj
在此示例中,我们还添加了 FreeGLUT 图形显示框架。 如上一步所示,选择菜单 FILE > 添加>现有项目。
在解决方案资源管理器中,您现在应该看到所有三个项目,即 CHAI3D、freeglut 和 myProject。
使用鼠标右键,单击我的项目并选择选项设置为启动项目。 这将告诉Visual Studio在编译解决方案后运行哪个应用程序。
现在,我们定义项目的项目依赖项。在此示例中,应用程序需要 CHAI3D 和 freeglut。选择菜单“项目”>“项目依赖项”。
使用鼠标, 勾选CHAI3D 和 freeglut。
由于项目仍然是空的,我们创建一个空的主.cpp文件,我们将在其中编写程序。
选择“C 文件(.cpp)”并为其命名为 main.cpp。单击按钮 加入 生成新文件。
新的空文件现已创建,可以接收源代码。
由于您可能希望编译并运行此应用程序,因此我们建议您复制 CHAI3D 提供的示例之一的内容。在本演示中,我们复制了示例 CHAI3D/examples/GLUT/13-primitives 中的代码。如果您希望改用另一个示例,请确保还将任何必要的资源文件复制到 application/bin 目录中。
3、设置项目属性
使用鼠标右键,单击我的项目并选择选项属性。
将显示以下“属性页”窗口。
在修改任何属性之前,我们将配置分配给所有配置,将平台分配给所有平台。这将允许我们同时将属性分配给所有四种可能的模式,分别为:
- Win32 / Debug
- Win32 / Release
- x64 / Debug
- x64 / release
在“配置属性”/“常规”中,将“输出目录”定义为“../../bin/win-$(platform)\
在“配置属性”/“C/C”/“常规”中,编辑“其他包含目录”
添加以下目录:
-
../../external/CHAI3D/src
-
../../external/CHAI3D/external/Eigen
-
../../external/CHAI3D/external/glew/include
-
../../external/CHAI3D/extras/freeglut/include
请注意,仅当您使用 FreeGLUT 作为显示库时,才会使用最后一个目录。如果您使用的是其他框架(如 .NET 或 Qt),则可以省略此行并替换为其他引用。
在“配置属性”/“C/C/语言”中,为“启用运行时类型信息”选项选择“是 (/GR)”。
在“配置属性”/“链接器”/“常规”中,编辑“其他库目录”
添加以下目录:
-
../../external/CHAI3D/lib/$(Configuration)/$(Platform)
-
../../external/CHAI3D/extras/freeglut/lib/$(Configuration)/$(Platform)
在“配置属性”/“链接器”/“输入”中,编辑“其他依赖项”
添加以下库文件:
-
chai3d.lib
-
freeglut.lib
在“配置属性”/“链接器”/“系统”中,为选项“子系统”选择“控制台(/子系统:控制台)”。
至于最终设置,我们现在为 Win32 和 x64 平台定义了两个不同的预处理器指令。 选择 Win32 平台。
在“配置属性”/“C/C/语言”中,编辑“处理器定义”。
分配以下指令:WIN32。
选择 x64 平台。
在“配置属性”/“C/C/语言”中,编辑“处理器定义”。
分配以下指令:WIN64。
4、编译运行
为了确保触觉设备的最大性能和稳定性,在未调试代码时始终以发布模式编译和运行应用程序非常重要。如果需要调试代码,请考虑禁用或减少所有触觉力,以避免设备不稳定。
若要生成整个解决方案,请选择菜单“生成”>“生成解决方案
成功编译应用程序后,您可以运行该应用程序。
下面是演示正在运行的应用程序的最终屏幕截图。