OGRE
jean7155
这个作者很懒,什么都没留下…
展开
-
OGRE EXCEPTION(3:RenderingAPIException): Zero sized texture surface on texture
错误积累——OGRE 由于项目比较大,而且是由多人同时完成的。所以,出现错误的时候,快速的找到错误也是提高效率的好方法。首先查询OGRE日志,默认日志为运行文件夹下 ogre.log 文件。用记事本打开。文件末尾,错误信息记录如下: OGRE EXCEPTION(3:RenderingAPIException): Zero sized texture surface on te原创 2012-01-16 17:52:29 · 5088 阅读 · 0 评论 -
Camera::getCameraToViewportRay 应用的白痴错误。
我弄了一周多,烦死了,最后找出来发现太白痴,太丢人了。 不过,好歹弄了一周多,记录一下。 错误代码行如下:Ogre::Ray mouseRay = m_Camera->getCameraToViewportRay(mousePt.x/width, mousePt.y/height); 这行代码得出了的Ray总是向着左上方严重偏离。 但是,这原创 2015-04-15 10:14:22 · 831 阅读 · 0 评论 -
ogre小知识点笔记
什么是FBO (Frame Buffer Object) .分类: 三维技术 2012-05-30 14:22 0人阅读 评论(0) 收藏 编辑 删除 什么是FBO (Frame Buffer Object) 帧缓冲是显卡内存中的一块,保存在该内存区块中的图像数据会实时地在显示器上显示出来,帧缓存中的数据最大最小值会被限定在一个范围内,也就是 [0/255; 255/255]原创 2015-04-15 10:15:41 · 719 阅读 · 0 评论 -
Ogre 1.8.1源代码编译和错误修改
写在一边,最好不要略过的话。 这篇blog是按照编译–>出错–>解决错误–>再编译 的方式写的。 我认为这种逐步改错的过程有助于学习和理解,所以这样写的。 最节约时间的方法,就是先全部看完,解决所有的错误,然后编译,一次成功。一、编译生成Ogre 1.8.1源代码0、我的系统环境操作系统:64位Windows7 编译环境:Visual Studio 2013。 编译ogre1原创 2015-08-30 19:44:56 · 2473 阅读 · 0 评论 -
OGRE启动过程详解(OGRE HelloWorld程序原理解析)
平:本文比较系统深入的讲述了OGRE启动的全过程。我感觉不适合OGRE入门使用。不过我写的挺好的。 本文介绍 OGRE 3D 1.9 程序的启动过程,即从程序启动到3D图形呈现,背后有哪些OGRE相关的代码被执行。会涉及的OGRE类包括:RootRenderSystemRenderWindowResourceGroupManagerLogManagerViewportScen转载 2015-12-22 14:26:00 · 1479 阅读 · 0 评论 -
ogre文字动态加载实现和bug修改
一、简略版基础知识ogre中文字加载代码如下: Ogre::String name = "Sample"; Ogre::FontPtr font = Ogre::FontManager::getSingleton().getByName(mName); font->setType(Ogre::FT_TRUETYPE); font->setTrueTypeSize(24)原创 2016-03-09 15:28:50 · 910 阅读 · 0 评论 -
欠一篇博客
ogre带空间遮挡的Overlay标签。 需要改ogre内核计算深度、zorder,平截体,投影矩阵的计算等。 可能还需要计算机图形学的东西。 估计近期没有时间,但是时间长了会忘记。记录一下。原创 2016-03-09 15:39:24 · 561 阅读 · 0 评论 -
OverlayManager::destroy(Overlay* overlay)可以优化
OverlayManager::destroy(Overlay* overlay)可以优化——看ogre源码的零散笔记。源码如图: 修改后代码如下: void OverlayManager::destroy(Overlay* overlay) { String name =overlay.getName(); destroy(name);原创 2016-06-03 10:25:14 · 665 阅读 · 0 评论 -
OSX + OGRE + XCode的编译、生成和调试运行中的错误记录
OSX + OGRE + XCode的编译、生成和调试运行中的错误记录一、搭建环境二、错误和解决方法的记录错误1:错误2:错误3:错误4:错误5:由于苹果的Macbook Pro 实在是太小巧方便了。入手一个,ogre源码在这里建立,并运行了。一、搭建环境ogre :1.9.0Mac OS :MacOS High Sierra 10.13.6Xcode: 9.4.1Make:3.12....原创 2018-12-12 11:30:09 · 760 阅读 · 0 评论 -
Ogre源代码结构学习笔记——插件(Plugin)其它问题
插件(Plugin)结构的具体内容 我转载的文章里说的很系统清楚了。《Ogre源代码浅析——插件(Plugin)工作原理》这里就是我在学习中,不理解问题的笔记。1、上期结尾问题平平疑问记录如下:Ogre会在每个要被动态加载的dll库对象中声明一个名为“dllStartPlugin”的函数,这里目前还没理解,先记录以后解决。函数 Root::loadPlugin中有调用一个名为“dll...原创 2019-01-04 10:35:18 · 285 阅读 · 0 评论 -
ogre的SampleBrowser项目的代码结构笔记1——SampleBrowser类
SampleBrowser.cpp文件为程序的入口。这里有几个不同操作系统的入口函数,比如main,winmain等。用宏定义控制编译那个。SampleBrowser_OSX.h文件好像和Mac操作系统有关。Mac目前我不懂,略。SampleBrowser.h文件主要定义了SampleBrowser类。SampleBrowser类定义如下:class SampleBrowser : pub...原创 2018-12-25 09:46:06 · 457 阅读 · 6 评论 -
ogre的SampleBrowser项目的代码结构笔记2——sample控件
sample控件的加载、卸载、切换和信息提取原创 2018-12-31 07:10:56 · 395 阅读 · 0 评论 -
Ogre源代码浅析——Archive对象
平平:在具体的加载各种资源文件前,对文件进行的读写。包括 普通文件(FileSystemArchive)和两种压缩文件(ZipArchive和EmbeddedZipArchive)。对应的工厂类有FileSystemArchiveFactory、ZipArchiveFactory和EmbeddedZipArchiveFactory(ogre1.9.0中)3D图形渲染引擎所需的外部资源,根据其...转载 2019-01-05 09:15:04 · 267 阅读 · 1 评论 -
Ogre源代码浅析——插件(Plugin)工作原理
Ogre引擎由多个模块组成,从不同角度来划分可以得到不同的结果。从功能上看Ogre可大致分为资源管理、场景管理和渲染管理三大模块;而从可执行部分的组织方式看,Ogre引擎则是由多个dll动态链接库组合而成的。组成Ogre的各动态库基本上可以分为以下几部分:核心库、渲染层、场景管理逻辑层。核心库(OgreMain.dll,一般debug版会生成OgreMain_d.dll文件)负责资源加载和管理,...转载 2019-01-01 11:28:29 · 422 阅读 · 2 评论 -
Ogre引擎源码——资源管理
作为一个图形绘制引擎,需要管理非常多的图形资源,比如纹理、三角网格等。今天就来看下Ogre中资源管理部分。Ogre中资源管理部分大致包含以下头文件:OgreResource.hOgreResourceGroupManager.hOgreResourceManager.h这部分代码内容不少,但只要能理清这几个类之间的关系,Resource管理的方式也就可见一斑。先附上一张UML图中...转载 2019-01-07 13:52:15 · 563 阅读 · 0 评论 -
OGRE::Cameras, Lights, and Shadows
OGRE::Cameras, Lights, and Shadows1.摄像机(Camera),是我们创建用来展示场景的对象。它是一个类似于节点的一个特殊的物体(我们不能称之为实体)。和节点一样它可以调用setPosition, yaw, roll和pitch 等函数来调整摄像机的位置,也可以把它关联到一个节点上。摄像头的位置的改变是相对于它的父体的。综上所述,在移动和旋转的空间变原创 2015-04-15 10:12:32 · 546 阅读 · 0 评论 -
ogre学习笔记-Intermediate Tutorial 1234
Intermediate Tutorial 1 Animation, Walking Between Points, and Basic Quaternions节点动画和Ogre::Quaternion类,骨骼动画1、节点动画和Ogre::Quaternion mNode->setPosition(mDestination); mNode->tran原创 2015-03-12 14:19:48 · 689 阅读 · 0 评论 -
OGRE入门学习整理1——使用Visula Studio 2008 创建可以带走的Ogre应用程序
学习和使用OGRE也有一段时间了。对于OGRE也有一定的了解。但是总感觉自己的知识不成系统,很松散,提不起来。最近春节放假,正好有时间学习并且系统整理一下。其实,我也是入门,很多东西还不清楚,希望有错误大家能够帮我指出。多谢了。 首先,这个教程是建立一个可以拷贝到u盘里面到处带着走的应用程序。我是按照OGRE的教程来建立应用程序的。原文链接如下:http://www.o原创 2012-02-03 15:15:37 · 1841 阅读 · 0 评论 -
屏蔽掉Ogre1.7版本以后的 LOGO和FPS数据显示
一、1.7版前的处理方法屏蔽掉Ogre LOGO和FPS数据显示,网上搜索了一下,大多类似。选取了一个最简单易懂的。 在ExampleApplication.h中,找到showDebugOverlay(true)虚函数的应用 为mFrameListener->showDebugOverlay(true); 所以最直接的办法就是在实例文件中改为mFrameListener->sh原创 2012-05-30 17:06:40 · 2212 阅读 · 2 评论 -
Ogre的SdkTray系统中Menu条目的中文显示
1、问题:Ogre的SdkTray系统中Menu的Caption都是可以显示中文的。但是,Ogre的SdkTray系统中Menu条目都不能够显示中文。Menu条目是显示文字是Ogre::TextAreaOverlayElement类显示的。该类中显示文字的设置是setCaption()函数。setCaption()函数中设置参数为Ogre::DisplayString类的时候,可以显示中文原创 2012-06-12 16:27:05 · 2494 阅读 · 0 评论 -
Ogre的SdkTray系统梗概
一、几个重要类的分析enum TrayLocation //类,枚举widget窗口在Tray中摆放的位置。enum ButtonState //类,枚举鼠标动作。class SdkTrayListener //类,监听Tray中事件的接口。class Widget// 类,是Tray中所以GUI控件的子类。{protected: Ogre::OverlayElemen原创 2012-06-14 15:30:03 · 3406 阅读 · 2 评论 -
ogre 节点动画中的Ogre::Animation::setInterpolationMode函数
最近做了很多的OGRE节点动画,有一个函数一直是知道,不过没在意。今天加新功能,有一个bug。让某物体按照指定路线前进,但是物体像一个醉酒的人一样,按照指定路线走凌波微步。排除了N多可能。最后,只剩下这个新写的类了。看着这个运行路线,我突然想到这个路径很想非线性差值的结果。但是,都是线性的啊,谁也不会弄个非线性的出来,一查代码,还真是非线性的……出错函数如下: (Ogre:原创 2012-12-18 17:48:53 · 1472 阅读 · 0 评论 -
Ogre中文字类的纹理贴到三维物体中
就是我需要在三维中,用ManualObject中将文字的纹理图片贴图到三维实体中。做完发现不难,但是找的时候犯傻了,所以查了很多资料,⊙﹏⊙b汗。这个中文的网页里,还真没有人怎么实现的。可能先太容易了? 1、字体文件是TTF,文件大小足够大,所以包含中文了。2、文字需要载入,这个有时间写个blog吧。如果不载人,光添加时没有文字图像的。3、基本实现代码如下: //获得原创 2013-07-04 17:47:48 · 2389 阅读 · 0 评论 -
Ogre 异常处理和日志
平:我改一点错误。就是枚举类型前后的表格写错了日志管理用文件来记录Ogre系统初始化、运行、结束以及调试信息。使用日志便于我们调试程序。Ogre日志系统的组成Ogre日志系统由两个类组成:Log类与LogManager。下面我们分别来看这两个类。Log类代表用于记录信息的日志。Log类的一个对象对应于一个日志文件。Log类提供了向日志文件写信息的函数logMessage转载 2011-08-07 12:27:34 · 2216 阅读 · 0 评论 -
ogre学习笔记-基础教程345
这三个教程的源码在我的上传资源里面。放到一个解决方案中了。这里假设你能够自己建立一个app,即通过BasicTutorial1的练习。----------------------BasicTutorial3一、地形1、添加 OgreTerrain_d.lib2、地形中没有添加 page功能模块3、TerrainGroup、Terrain和Terrai原创 2015-02-10 14:35:27 · 806 阅读 · 0 评论 -
MyGUI 学习笔记(四)——MyGUI sample 4——13.03.11
Code samples 中的各个网页内容学习并记录 主要内容如下:-------------------------------HowTo enable tooltips (原文链接) 添加用于说明的悬浮窗口。有点乱,再看一遍再整理。 HowTo use ButtonImage (原文链接)只有图片的按钮,关于skin的使用。Layout片段:原创 2013-04-16 15:04:55 · 1708 阅读 · 0 评论 -
MyGUI 学习笔记(五)——MyGUI 中其他文件1——13.03.12
阅读 MyGUI 中的内容并记录 Text formatting:MyGUI 在文字显示上支持几种特殊的序列。1、常用序列。该序列,在任何文字变换的时候,都可以使用。——"#rrggbb":改变文字颜色。——"##" :显示 '#' 字符2、占位序列——"\n" :换行符。——"#{Keyword}" :由 language文件中定义的或者 L原创 2013-03-12 17:17:36 · 2524 阅读 · 1 评论 -
MyGUI 学习笔记(三)——MyGUI sample3——13.02.07
先阅读MyGUI sample 记录并总结主要内容如下:1、创建窗口,并相应按钮2、响应各种事件的详细方法3、窗口的创建、查找和删除-------------------------------HowTo add buttons in window skin创建窗口的skin: 创建窗口:MyGUI::Windo原创 2013-03-07 15:42:27 · 2243 阅读 · 0 评论 -
MyGUI 学习笔记(二)——MyGUI sample2——13.01.23
Code samples中的各个网页内容学习并记录一内容概括1、给ChildWin添加通告消息。 二、给ChildWin添加通告消息MyGui中的消息响应类似C#中的委托机制,具体怎么实现的还没有研究。现在主要着眼于使用MyGui。1、在ChildWin类中添加成员变量MyGUI::delegates::CDelegate2 eventAction;2、添加代码原创 2013-01-23 15:20:53 · 1648 阅读 · 0 评论 -
MyGUI 学习笔记(一)——MyGUI sample1——13.01.23
Code samples 中的各个网页内容学习并记录 MyGUI入门编写结构,显示一个对话框1、声明主类class DemoKeeper :public base::BaseManager。其中base::BaseManager是MyGui的一个管理控制父类,里面包括OGRE的基本创建和渲染。2、添加对应的include文件夹,编译直到通过。3、编写一个简单的Layou原创 2013-01-23 14:05:22 · 3202 阅读 · 3 评论 -
ogre学习笔记-Intermediate Tutorial 567
Intermediate Tutorial 5 Static Geometry1、Creating the Meshconstfloat width =25;constfloat height =30;Ogre::ManualObject mo("GrassObject"); Ogre::Vector3 vec(width/原创 2015-03-12 14:33:45 · 828 阅读 · 0 评论 -
Ogre引擎源码——资源管理 摘抄
Ogre引擎源码——资源管理https://blog.csdn.net/pizi0475/article/details/8001886https://blog.csdn.net/pizi0475/article/details/6264467转载 2019-01-07 14:08:28 · 520 阅读 · 0 评论