![]() |
OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
|
ovis 是一个围绕 ogre3d 的简化渲染包装器。API 中使用了 Ogre 术语,并假定使用 Ogre Script 进行高级定制。
除了这里看到的 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>
| 枚举值 (Enumerator) | |
|---|---|
| ENTITY_MATERIAL | |
| ENTITY_SCALE | |
| ENTITY_AABB_WORLD | |
| ENTITY_ANIMBLEND_MODE | |
| ENTITY_CAST_SHADOWS | |
#include <opencv2/ovis.hpp>
| 枚举值 (Enumerator) | |
|---|---|
| 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>
| 枚举值 (Enumerator) | |
|---|---|
| SCENE_SEPARATE | 窗口将使用独立的场景。否则场景将被共享。 |
| SCENE_INTERACTIVE | 允许用户控制相机。 |
| SCENE_SHOW_CS_CROSS | 绘制坐标系十字以供调试 |
| SCENE_AA | 应用抗锯齿。第一个窗口确定所有窗口的设置。 |
| SCENE_OFFSCREEN | 离屏渲染,无窗口。允许单独设置 AA。需要通过 WindowScene::update 手动更新。 |
| SCENE_SHADOWS | 在场景中启用实时阴影。所有实体默认都会投射阴影。通过 ENTITY_CAST_SHADOWS 控制。 |
| void cv::ovis::addResourceLocation | ( | const String & | path | ) |
#include <opencv2/ovis.hpp>
添加一个额外的资源位置,用于搜索网格、纹理和材质
必须在第一次 createWindow 之前调用。如果给定的路径不存在,则在 Ogre Media Directory 中重试。
| path | 文件夹或 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 | 浮点型法向量向量 |
| indices | 整型索引向量 |
| 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 | prop, | ||
| InputArray | value (值) ) |
| void cv::ovis::updateTexture | ( | const String & | name, |
| InputArray | 图像 ) |
#include <opencv2/ovis.hpp>
| int cv::ovis::waitKey | ( | int | delay = 0 | ) |
#include <opencv2/ovis.hpp>
更新所有窗口并等待键盘事件
| 延迟 | 0 是特殊值,表示“永远”。任何正数都会在同步到空白(通常是 16 毫秒)后返回。 |