![]() |
OpenCV 4.12.0
开源计算机视觉
|
ovis 是一个围绕 ogre3d 的简化渲染封装器。API 中使用了 Ogre 术语,并且假定使用 Ogre 脚本进行高级定制。
除了此处显示的 API,还有几个环境变量控制 ovis 的行为。它们在 createWindow 中有文档说明。
您可以即时创建几何体,或通过加载 Ogre .mesh 文件创建。
建议使用 Blender 进行几何体转换/创建。
OgreXMLConverter.exe (在 bin/ 中) 的 Ogre MSVC SDK,并在 blender2ogre 设置中设置路径当使用 Ogre 1.12.9 或更高版本时,启用 Assimp 插件允许加载任意几何体。只需在 WindowScene::createEntity 中将 bunny.obj 作为 meshname 传入,而不是 bunny.mesh。
您仍然应该使用 ogre-meshviewer 来验证几何体是否正确转换。
类 | |
| 类 | cv::ovis::WindowScene |
#include <opencv2/ovis.hpp>
| 枚举器 | |
|---|---|
| ENTITY_MATERIAL | |
| ENTITY_SCALE | |
| ENTITY_AABB_WORLD | |
| ENTITY_ANIMBLEND_MODE | |
| ENTITY_CAST_SHADOWS | |
#include <opencv2/ovis.hpp>
| 枚举器 | |
|---|---|
| MATERIAL_POINT_SIZE | |
| MATERIAL_LINE_WIDTH | |
| MATERIAL_OPACITY | |
| MATERIAL_EMISSIVE | |
| MATERIAL_DIFFUSE | |
| MATERIAL_TEXTURE0 | |
| MATERIAL_TEXTURE | |
| MATERIAL_TEXTURE1 | |
| MATERIAL_TEXTURE2 | |
| MATERIAL_TEXTURE3 | |
#include <opencv2/ovis.hpp>
| 枚举器 | |
|---|---|
| SCENE_SEPARATE | 窗口将使用一个独立的场景。否则场景将共享。 |
| SCENE_INTERACTIVE | 允许用户控制相机。 |
| SCENE_SHOW_CS_CROSS | 绘制坐标系十字用于调试 |
| SCENE_AA | 应用抗锯齿。第一个窗口决定所有窗口的设置。 |
| SCENE_OFFSCREEN | 在无窗口的情况下进行离屏渲染。允许独立的抗锯齿设置。需要通过 WindowScene::update 手动更新。 |
| SCENE_SHADOWS | 在场景中启用实时阴影。默认情况下,所有实体都会投射阴影。通过 ENTITY_CAST_SHADOWS 控制。 |
| void cv::ovis::addResourceLocation | ( | const String & | 路径 | ) |
#include <opencv2/ovis.hpp>
添加一个额外的资源位置,用于搜索网格、纹理和材质
必须在第一次调用 createWindow 之前调用。如果给定路径不存在,则在 Ogre Media 目录下重试。
| 路径 | 文件夹或 Zip 归档。 |
| void cv::ovis::createPlaneMesh | ( | const String & | name, |
| const Size2f & | size, | ||
| InputArray | image = noArray() ) |
| void cv::ovis::createPointCloudMesh | ( | const String & | name, |
| InputArray | 顶点, | ||
| InputArray | colors = noArray() ) |
| void cv::ovis::createTriangleMesh | ( | const String & | name, |
| InputArray | 顶点, | ||
| InputArray | normals = noArray(), | ||
| InputArray | indices = noArray() ) |
#include <opencv2/ovis.hpp>
从顶点-顶点或面-顶点表示创建三角形网格
创建一个同名材质
| name | 网格名称 |
| 顶点 | 浮点型位置向量 |
| normals | 浮点型法线向量 |
| 索引 | 整型索引向量 |
| Ptr< WindowScene > cv::ovis::createWindow | ( | const String & | 标题, |
| const Size & | size, | ||
| int | flags = SCENE_INTERACTIVE|SCENE_AA ) |
#include <opencv2/ovis.hpp>
创建一个新的渲染窗口/视口
| 标题 | 窗口标题 |
| size | 窗口尺寸 |
| flags | SceneSettings 的组合 |
此外,其行为由以下环境变量控制:
#include <opencv2/ovis.hpp>
这是一个重载成员函数,为方便起见而提供。它与上述函数的区别仅在于其接受的参数。
| void cv::ovis::setMaterialProperty | ( | const String & | name, |
| int | 属性, | ||
| InputArray | 值 ) |
| void cv::ovis::updateTexture | ( | const String & | name, |
| InputArray | 图像 ) |
#include <opencv2/ovis.hpp>
| int cv::ovis::waitKey | ( | int | 延迟 = 0 | ) |
#include <opencv2/ovis.hpp>
更新所有窗口并等待键盘事件
| 延迟 | 0 是一个特殊值,表示“永远”。任何正数表示在同步到空白(通常为 16 毫秒)后返回。 |