Tango Examples C 项目教程
1. 项目的目录结构及介绍
Tango Examples C 项目的目录结构如下:
tango-examples-c/
├── CMakeLists.txt
├── LICENSE
├── README.md
├── android.toolchain.cmake
├── assets/
│ └── models/
├── build/
├── build-tools/
├── cpp/
│ ├── augmented_reality_example/
│ ├── marker_detection_example/
│ ├── mesh_builder_example/
│ ├── motion_tracking_example/
│ ├── plane_fitting_example/
│ └── point_cloud_example/
├── jni/
│ ├── Android.mk
│ ├── Application.mk
│ ├── main/
│ └── util/
└── third-party/
目录介绍
CMakeLists.txt: 用于构建项目的 CMake 配置文件。LICENSE: 项目的许可证文件。README.md: 项目的说明文档。android.toolchain.cmake: 用于 Android 交叉编译的工具链文件。assets/: 包含项目所需的资源文件,如 3D 模型。build/: 构建生成的文件存放目录。build-tools/: 构建工具目录。cpp/: 包含多个示例项目,每个子目录对应一个不同的 Tango 技术应用示例。jni/: 包含 JNI 相关的文件,用于与 Java 层交互。third-party/: 第三方库目录。
2. 项目的启动文件介绍
项目的启动文件主要位于 cpp/ 目录下的各个示例项目中。每个示例项目都有一个主要的启动文件,例如:
cpp/augmented_reality_example/main.cpp: 增强现实示例的启动文件。cpp/marker_detection_example/main.cpp: 标记检测示例的启动文件。cpp/mesh_builder_example/main.cpp: 网格构建示例的启动文件。cpp/motion_tracking_example/main.cpp: 运动跟踪示例的启动文件。cpp/plane_fitting_example/main.cpp: 平面拟合示例的启动文件。cpp/point_cloud_example/main.cpp: 点云示例的启动文件。
启动文件介绍
每个启动文件主要负责初始化 Tango 设备、设置回调函数、启动主循环等操作。以下是 cpp/augmented_reality_example/main.cpp 的部分代码示例:
#include <tango_client_api.h>
#include <tango_support_api.h>
int main(int argc, char* argv[]) {
// 初始化 Tango 设备
TangoErrorType err = TangoService_initialize(argc, argv);
if (err != TANGO_SUCCESS) {
return -1;
}
// 设置回调函数
TangoService_connectOnFrameAvailable(TANGO_CAMERA_COLOR, this, onFrameAvailable);
// 启动主循环
while (true) {
// 处理帧数据
}
// 清理资源
TangoService_disconnect();
return 0;
}
3. 项目的配置文件介绍
项目的配置文件主要位于 jni/ 目录下,包括 Android.mk 和 Application.mk 文件。
Android.mk
Android.mk 文件用于配置 Android NDK 构建系统,定义模块、源文件、库依赖等。以下是部分代码示例:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := augmented_reality_example
LOCAL_SRC_FILES := main.cpp
LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv2
LOCAL_STATIC_LIBRARIES := tango_client_api tango_support_api
include $(BUILD_SHARED_LIBRARY)
Application.mk
Application.mk 文件用于配置应用程序的构建参数,如 ABI、STL 类型等。以下是部分代码示例:
APP_AB
627

被折叠的 条评论
为什么被折叠?



