😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏

这篇文章主要介绍。

无专精则不能成,无涉猎则不能通。——梁启超

欢迎来到我的博客,一起学习,共同进步。

喜欢的朋友可以关注一下,下次更新不迷路🥞

😏1. 项目介绍项目Github地址:https://github.com/OGRECave/ogre

OGRE(Object-Oriented Graphics Rendering Engine,面向对象图形渲染引擎)是一个功能强大、灵活且开源的3D图形渲染引擎,主要使用C++语言编写。它旨在为开发者提供一个高效、易于使用的工具,帮助他们快速构建出高质量的3D应用程序,如游戏、模拟器、可视化工具等。

OGRE的主要特点:

1 面向对象设计: OGRE采用面向对象的设计理念,将3D图形渲染过程封装成一系列类和接口,使得开发者可以更直观地理解和操作3D场景。

2 跨平台支持: OGRE支持多个平台,包括Windows、Linux、macOS、iOS、Android等,开发者可以将同一套代码部署到不同的平台上。

3 硬件加速: OGRE充分利用了现代图形硬件的加速能力,提供高效的渲染性能。

4 丰富的功能: OGRE提供了丰富的功能,包括场景管理、材质系统、灯光、阴影、动画、粒子系统等,满足了各种3D应用程序的需求。

主要用于游戏开发、模拟器、可视化等,机器人开发中的Gazebo和Rviz就用了这个库。

😊2. 环境配置下面进行环境配置:

代码语言:javascript复制# apt安装

sudo apt install libogre-1.9-dev

# 编译

g++ main.cc -I/usr/include/OGRE `pkg-config --cflags --libs OGRE`😆3. 使用说明一个基础的示例(能运行,但要加载各种模型的话,需要进一步了解):

代码语言:javascript复制#include

#include

class OgreApplication : public Ogre::FrameListener {

public:

OgreApplication() : root(nullptr), window(nullptr), sceneManager(nullptr), camera(nullptr) {}

bool initialize() {

root = new Ogre::Root("plugins.cfg");

if (!root->showConfigDialog()) {

return false;

}

window = root->initialise(true, "Ogre Window");

sceneManager = root->createSceneManager(Ogre::ST_GENERIC);

camera = sceneManager->createCamera("MainCamera");

camera->setPosition(Ogre::Vector3(0, 0, 80));

camera->lookAt(Ogre::Vector3(0, 0, -300));

camera->setNearClipDistance(5);

Ogre::Viewport* viewport = window->addViewport(camera);

viewport->setBackgroundColour(Ogre::ColourValue(0, 0, 0));

root->addFrameListener(this);

return true;

}

void startRenderLoop() {

root->startRendering();

}

bool frameRenderingQueued(const Ogre::FrameEvent& evt) override {

if (window->isClosed()) return false;

return true;

}

private:

Ogre::Root* root;

Ogre::RenderWindow* window;

Ogre::SceneManager* sceneManager;

Ogre::Camera* camera;

};

int main() {

OgreApplication app;

if (app.initialize()) {

app.startRenderLoop();

}

return 0;

}加载模型需要创建 plugins.cfg,还需要有模型:

代码语言:javascript复制# Defines plugins to load

# Define renderer plugins

Plugin=RenderSystem_GL

Plugin=RenderSystem_Direct3D9

# Define image codec plugins

Plugin=Plugin_ParticleFX

Plugin=Plugin_BSPSceneManager

Plugin=Plugin_CgProgramManager

Plugin=Plugin_PCZSceneManager

Plugin=Plugin_OctreeZone

Plugin=Plugin_OctreeSceneManager

为什么趴着容易拉屎
ppt如何导出到一张图