OpenCV 4.10.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
替代 bunny.mesh
作为 meshname
即可。
您仍然应该使用 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 | |
材料线宽 | |
材料不透明度 | |
材料自发光 | |
材料漫反射 | |
材料纹理0 | |
材料纹理 | |
材料纹理1 | |
材料纹理2 | |
材料纹理3 |
#include <opencv2/ovis.hpp>
枚举值 | |
---|---|
场景分离 | 窗口将使用单独的场景。否则场景将被共享。 |
场景交互式 | 允许用户控制相机。 |
场景显示十字坐标 | 绘制调试用的坐标系统十字。 |
场景抗锯齿 | 应用抗锯齿。第一个窗口决定所有窗口的设置。 |
场景离屏绘制 | 在没有窗口的情况下离屏渲染。允许分开设置抗锯齿。需要通过 WindowScene::update 手动更新。 |
场景阴影 | 启用场景中的实时阴影。所有实体默认都会投下阴影。通过 ENTITY_CAST_SHADOWS 控制。 |
void cv::ovis::addResourceLocation | ( | const String & | path | ) |
#include <opencv2/ovis.hpp>
添加一个额外的资源位置,在该位置搜索网格、纹理和材料
必须在第一次创建窗口之前调用。如果提供的路径不存在,则会在 Ogre 媒体目录内重试。
path | 文件夹或 zip 存档。 |
void cv::ovis::createPlaneMesh | ( | const String & | name, |
const Size2f & | size, | ||
InputArray | image = noArray() |
||
) |
void cv::ovis::createPointCloudMesh | ( | const String & | name, |
InputArray | vertices, | ||
InputArray | colors = noArray() |
||
) |
void cv::ovis::createTriangleMesh | ( | const String & | name, |
InputArray | vertices, | ||
InputArray | normals = noArray() , |
||
InputArray | indices = noArray() |
||
) |
#include <opencv2/ovis.hpp>
从顶点-顶点或面-顶点的表示创建三角形网格
创建具有相同名称的材料
name | 网格名称 |
vertices | 位置的 float 向量 |
normals | 法线的 float 向量 |
indices | 索引的 int 向量 |
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 | image | ||
) |
#include <opencv2/ovis.hpp>
int cv::ovis::waitKey | ( | int | delay = 0 | ) |
#include <opencv2/ovis.hpp>
更新所有窗口并等待键盘事件
延迟 | 0 是特殊值,表示“永远”。任何正数在同步后会返回空(通常为 16ms)。 |