Ogre1.x学习笔记1——建立Ogre项目

X11相关参数设置 设置旋转 xrandr -o left 向左旋转90度 xrandr -o right 向右旋转90度 xrandr -o inverted 上下翻转 xrandr -o normal 回到正常角度 X11 环境变量DISPLAY用来设置将图形显示到何处。 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0 变量格式 DISPLAY 环境变量格式如下host:NumA.NumB, host指Xserver所在的主机主机名或者ip地址, 图形将显示在 阅读详情

Ogre1学习笔记1——建立Ogre项目


子曰:先跑起来再说。

本文将介绍构建Ogre项目的一般流程,代码部分采用官方的Bootstrap.cpp中的内容。

本文参考了官方英文教程Setting up an OGRE project,但采用Makefile来建立Ogre项目,而不是英文教程中的cmake来建立。

复制代码并编写Makefile

Bootstrap.cpp的源代码可以在Ogre源码中找到,其具体位置在ogre-1.12.6/Samples/Tutorials/Bootstrap.cpp中。

在写Makefile时,有以下几点需要注意:

  1. 链接时需要额外添加Ogre的几个库文件。
    这里需要添加OgreMain、OgreBites、OgreRTShaderSystem和zzip等4个库,因此需要添加-lOgreMain -lOgreBites -lOgreRTShaderSystem -lzzip 作为参数。
  2. 需要包含zzip的所在路径。
    zzip是在编译安装Ogre源码时生成的库文件,其路径是ogre-1.12.6/build/Dependencies/lib,因此在编译时需要添加-L/home/username/Documents/ogre-1.12.6/build/Dependencies/lib,这里/home/username/Documents/是Ogre源代码所在文件夹。
  3. 需要添加头文件路径。
    Bootstrap.cpp中所需头文件所在目录有3个:/usr/include/OGRE/、/usr/include/OGRE/Bites/和/usr/include/OGRE/RTShaderSystem/,因此在编译时需要添加-I/usr/include/OGRE/ -I/usr/include/OGRE/Bites/ -I/usr/include/OGRE/RTShaderSystem/作为参数。
  4. 需要添加rpath
    因为zzip所在目录不是标准位置,因此需要添加-rpath,否则会出现编译成功但运行时报错的问题。因此在编译时需要添加-Wl,-rpath /home/username/Documents/ogre-1.12.6/build/Dependencies/lib作为参数。

此外,还需要将/usr/share/OGRE/中的resources.cfg拷贝到当前文件夹,以免出现找不到Sinbad.mesh的错误。

运行代码

完整的Makefile文件类似这个样子:

CXX = g++
CXXFLAGS = -std=c++17 -g -Wall

LIBS = -lOgreMain -lOgreBites -lOgreRTShaderSystem -lzzip 
LIB_PATH = -L/home/username/Documents/ogre-1.12.6/build/Dependencies/lib
RPATH = -Wl,-rpath /home/username/Documents/ogre-1.12.6/build/Dependencies/lib
INCLUDE = -I/usr/include/OGRE/ -I/usr/include/OGRE/Bites/ -I/usr/include/OGRE/RTShaderSystem/

TAR = Bootstrap
EXT = 

$(TAR)$(EXT): $(TAR).cpp
	$(CXX) $< -o $@ $(CXXFLAGS) $(RPATH) $(LIBS) $(LIB_PATH) $(INCLUDE) 
	
clean:
	-rm $(TAR)$(EXT)

此时当前文件夹中应该是这个样子:

.
├── Bootstrap.cpp
├── Makefile
└── resources.cfg

运行代码:

make
./Bootstrap

运行结果:
Ogre1在这个画面按Esc键即可退出。

ogre-next 学习笔记 - Day 1 阅读详情

相关推荐

《Ogre一步一步学开发》 一、Ogre源码编译与安装,从源代码开始构建Ogre图文教程(Ogre 1.12.1 Source + VS2019 + Windows10)

一、电脑需要已经安装下列软件环境: Visual Studio 2017 下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/ CMake 3.14.1 下载地址: https://cmake.org/download/ 下载文件 cmake-3.14.1-win64-x64.msi 后安装 二、Ogre源码编译与安装 1. htt...

StudyOgre的博客 8282

Linux之X11+OpenGL,零基础学Linux运维

swa.event_mask = ExposureMask | PointerMotionMask | KeyPressMask;win = XCreateWindow ( // create a window with the provided parametersx_display, root,0, 0, 800, 480, 0,CopyFromParent, InputOutput,CopyFromParent, CWEventMask,&swa );XSetWindowAttribu

2401_84140332的博客 1292

VS2013+WIN10 OGRE1.10.12配置

最近要比较下OSG与OGRE引擎内核,所以配置下OGRE看下源代码,看一下其三维场景绘制的流程。1. 需要的资源:(1)OGRE源码:官网 (https://www.ogre3d.org/download/sdk)下载,我下载的是...

成膜的博客 2185

启动第一个OGRE项目

转自OGRE官方手册:https://ogrecave.github.io/ogre/api/latest/setup.html Setting up an OGRE project Note see Guide to building OGRE for instructions how to build OGRE itself CMake Configuration Ogre uses...

daizhiyan1的博客 797

Ogre源码分析与学习笔记-1

Ogre的渲染引擎RenderSystem

桦树的眼睛 3061

OGRE中使用CEGUI【1】

因为Ogre从1.7.x以后便不再在SDK中附带CEGUI的渲染器了,所以CEGUI就自己出了CEGUIOgreRenderer的渲染器,这样在函数调用和依赖库上虽然有了一些区别,但是整个GUI的渲染步骤是不变的,还是依照创建CEGUI::Renderer对象->创建CEGUI::System对象进行初始化->调用渲染函数这三个雷打不动的步骤执行的,因为我自己在使用CEGUI的更新版本以后也困惑了

胖大星的博客 533

Ogre学习笔记(二)创建第一个OGRE程序

创建第一个OGRE程序 1.       建立一个新的win32控制台应用程序,选择空的项目。名字自己随便取,我这里取FirstOgreProgram 2.       在工程里新建一个源文件命名为main.cpp 如下右键单击之后如图操作: 3.       在main.cpp中输入以下内容 int main (void) { return 0;

simplezju的学习笔记 2481

Ogre 1.7中的地形教程

地形创建的工作步骤:1.创建地形全局配置2.创建地形分组3.创建默认的地形分块属性4.创建地形分块第一步首先,在Ogre1.7中,地形是由一块一块的地形组成的,他们每快地形都有共同的属性,所以在创建地形之前我们必须指定地形块的全局配置。代码:  mTerrainGlobals = new Ogre::TerrainGlobalOptions(); mTerrainGlobals->setMaxPixelError(8); mTerrainGlobals->setCompositeM

上帝与我同在 5633

开源项目推荐:OGRe

开源项目推荐:OGRe OGRe 是一个为 Mathematica 设计的现代微分几何和 tensor 微积分包,主要使用 Mathematica 编程语言开发。该项目旨在为用户提供一个强大且用户友好的工具,特别适用于广义相对论领域。 项目基础介绍 OGRe(Object-Oriented General Relativity)是一个面向对象的广义相对论包,它通过封装和张量不变性等面向对象编程原则...

gitblog_00026的博客 652

OGRE引擎实战:深入解析‘ZombieIsland_bug_camera‘项目

OGRE(面向对象图形渲染引擎)是一个开源的3D图形引擎,自从2000年发布以来,它已经演变成一个成熟的3D图形解决方案,被广泛用于游戏开发、模拟、视觉效果和专业可视化等领域。在 "ZombieIsland_bug_camera" 项目中,我们面临的主要目标是创建一个具有沉浸感的3D僵尸生存游戏。为了实现这一点,游戏必须能够提供流畅的摄像机控制,确保玩家能够自然地导航游戏环境,同时给予玩家充分的自由度来探索和与游戏世界互动。功能方面,我们的项目包含以下关键点:角色控制。

weixin_36122351的博客 871

玩转Zabbix智能告警:降噪、排班、认领、升级、IM协同

集成Zabbix告警到FlashDuty,获得告警降噪、智能排班、IM协同等能力

n9ecommunity的博客 1035

Ogre 1.x 与 2.x的对比

Ogre 在2020年4月份推出了 2.x版本,该版本不在于1.x兼容,该版本的推出是为了在pc平台上的更高渲染效率,面向新的GPU架构和接口。 OGRE不是一个,而是两个 "姐妹 "项目。它们是相关的,但它们并不一样--因为它们彼此不兼容。您可能会对选择哪个版本感到困惑。下面的信息将帮助你找到适合你需求的版本。 Ogre1 您需要第1方组件(如体积、覆盖、MeshLOD)和第3方插件(如GUI解决方案、导出器)。 您的目标是移动平台(Android、iOS、WebGL、Windows UWP)。

daxiao47的博客 668

智能客服系统知识库数据清洗

数据清洗(Data Cleaning)是确保智能客服知识库高效运行的重要环节,主要涉及。| 分类 & 标签优化 | 重新组织 FAQ,创建关键字索引 || 定期更新 | 结合用户反馈,每 1-3 个月优化 |才能提供更优质、正确的回答,提升客户满意度!、Zendesk、Intercom 等)中,: FAQ 或客服回答中可能存在。,会影响 AI 匹配的准确性。是一个持续优化的过程,

z1941563559的博客 2098

ogre 学习笔记 - Day 8

ogre 学习笔记 - Day 8

weixin_43859510的博客 1852

高通Sensor Tuning实战:手把手教你用Chromatix生成并打包bin文件(附避坑指南)

本文详细介绍了高通Sensor Tuning的全流程实战,从Chromatix配置到Bin文件加载验证。通过手把手教程,帮助开发者掌握Chromatix工具链的使用,避免常见配置错误,提升调试效率。特别针对kalama等新一代平台,提供经过验证的解决方案和避坑指南。

ios99的博客 483

图论:Dijkstra算法——最详细的分析,图文并茂,一次看懂!

Dijstra算法

普罗米修斯的博客 18万+

OGRE

News About Download Developers Documentation Support Gallery Download OGRE from: http://ww

凌风探梅的专栏 1843

RK+linux教程:RK3588 RGA硬件加速在YOLOv5图像预处理中的深度应用教程

摘要: 本教程深入解析了RK3588芯片的RGA硬件加速器在YOLOv5图像预处理中的应用。通过专用硬件设计,RGA支持图像缩放、边界填充等核心操作,结合零拷贝技术显著提升处理效率。重点分析了LetterBox算法的RGA实现,包括参数计算、边界填充和性能优化,并与传统CPU处理对比,展示了RGA在高分辨率图像处理中的优势。教程还提供了统一的预处理接口设计,便于在OpenCV与RGA方案间灵活切换,为RK3588平台的深度学习部署提供实用优化方案。

LXY_LOVE36的博客 975

OGRE 开源项目使用教程

OGRE(Open Graphics Engine)是一个开源的3D图形渲染引擎。以下是OGRE项目的主要目录结构及其介绍: ``` ogre/ ├── CMake/ │ ├── Toolchains/ │ └── Utils/ ├── Components/ │ ├── Bites/ │ ├── Hlms/ │ ├── Overlay/ │ ├── Paging/ │ ...

gitblog_00754的博客 555

Linux系统中u-boot启动流程分析(详解)

代码部分,具体如下;

嵌入式技术开发 1991

vue2学习笔记2-老规矩,从Hello World开始,了解Vue实例和模板

想要把“Hello,World”放置在页面上,首先需要准备一个HTML的块级元素div,来承接内容。

l_q_l的专栏 1257

ogre-next 学习笔记 - Day 6

ogre-next 学习笔记 - Day 6

weixin_43859510的博客 2938

Spring AI Alibaba 1.x 源码分析-架构设计

本文通过分析Spring AI Alibaba 框架的源码,分析出其原理和架构设计,无论是用于项目开发、技术评估还是团队培训都具有重要价值。

program哲学 489

OGRE1.12的编译安装——Manjaro

OGRE1的编译安装——Manjaro 本文记录了一次在Manjaro系统上编译安装ogre1.12版本的过程。

摇光65535的博客 920

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

系统升级手记:从OGRE1.2到1.4

如果原来系统就是基于OGRE做的话,升级就按照ogre官方网站上升级Porting notes修正改过后的函数及函数接口;师兄给的这个MotionSynthesis系统,是一个基于MFC,用到了OGRE的一些API,加上原来没有读过源代码,所在改起来还花了些功夫。下来是整理出来的步骤,其实解决问题的思路和过程才是一种财富:1、下载了OGRE1.4的SDK以及OgreDependencies_V

chindy的专栏 2435

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

如何快速掌握 Blender 到 OGRE 3D 引擎导出器(blender2ogre):从安装到高级功能的完整指南 ...

**blender2ogre** 是一款强大的 Blender 插件,专为 OGRE 3D 引擎设计,能够无缝导出模型、材质和动画资源至 OGRE 兼容格式。无论是新手还是资深开发者,都能通过本指南快速上手,释放 Blender 与 OGRE 3D 引擎结合的强大潜力。 ## ???? 目录 - [???? 为什么选择 blender2ogre?](#-为什么选择-blender2ogre) - [????...

gitblog_00323的博客 532

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: 用python脚本查找.so库文件中的符号
下一篇: wxWidgets安装-Windows Visual Studio
摇光65535
博客等级 码龄18年 45粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值