Ogre输出屏幕2d文字(Overlay文字)

参考: http://www.cnblogs.com/wanghao111/archive/2009/08/11/1543495.html

参考:http://www.cnblogs.com/gogoplayer/archive/2008/05/09/1189795.html

参考: Pro OGRE 3D Programming

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请标明来源)

Ogre文字的生成方法分为:配置文件创建 和 程序创建两中.  两者异曲同工, 都是实现类似定义结构

首先文字定义说明, 然后定义文字2d层,在层中添加container,再加TextArea.

2d-overlay

->container

->container/element

其中配置文件配置比较灵活易于理解,介绍如下: (特别感谢参考文章的作者,要不然还真不知道咋弄.)

1. 配置文件创建-创建英文文字

如果在配置文件中创建的话,方法是:

例如

a. 在sample.fontdef中配置字体定义

MyFont1

{

type truetype

source solo5.ttf

size 16

resolution 96

}

b. 创建sample.overlay,在里面定义

(注意:范围不能过大,否则可能不能正常展示)

(注意: material Core/StatsBlockCenter 为文字底色背景)

MyOverlay

{

zorder 499

container BorderPanel(MyContainer3)

{

metrics_mode pixels

left 0

top 10

width 300

height 200

material Core/StatsBlockCenter

element TextArea(MyTextArea3)

{

metrics_mode pixels

top 10

left 50

width 200

height 50

font_name MyFont1

char_height 19

caption who am i

colour_top 1 1 0.7

colour_bottom 1 1 0.7

}

}

}

c. 需要在程序中对MyOverlay的显示

// 加载字体

Ogre::FontManager::getSingleton().getByName("MyFont1")->load();

// 显示二维层

Ogre::OverlayManager* p = Ogre::OverlayManager::getSingletonPtr();

Ogre::Overlay* pOverlay = p->getByName("MyOverlay");

pOverlay->show();

3. 配置文件创建-创建中文文字

创建中文文字的话,需要中文字库的支持

参考http://www.cnblogs.com/wanghao111/archive/2009/08/11/1543495.html这篇文章的介绍

例如使用simhei.ttf,添加几个文字

a. 在sample.fontdef中配置字体定义

MyChsFont1

{

type truetype

source simhei.ttf

size 16

resolution 96

code_points 25105-25105 26159-26159 35841-35841 33-166

}

注意: code_points中为汉字和英文字母的unicode的wchar十进制值. 汉字字库比较大,全加载的话比较耗时.这种使用哪些加哪些的方法据说比较节省消耗.

b.在sample.overlay中定义

MyOverlay

{

zorder 499

container BorderPanel(MyContainer3)

{

metrics_mode pixels

left 0

top 10

width 300

height 200

material Core/StatsBlockCenter

element TextArea(MyTextArea4)

{

metrics_mode pixels

top 70

left 50

width 200

height 50

font_name MyChsFont1

char_height 19

caption 我是谁

colour_top 1 1 0.7

colour_bottom 1 1 0.7

}

}

}

c.在程序中,加载这个字体

// 加载字体

Ogre::FontManager::getSingleton().getByName("MyChsFont1")->load();

// 显示二维层

Ogre::OverlayManager* p = Ogre::OverlayManager::getSingletonPtr();

Ogre::Overlay* pOverlay = p->getByName("MyOverlay");

pOverlay->show();

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请标明来源)

时间: 2024-11-03 22:21:19

Ogre输出屏幕2d文字(Overlay文字)的相关文章

从天而降的文字,文字掉落效果

从天而降的文字,文字掉落效果,文字(字符)一个个从网页顶部向下落下来,最终形成一句话.一款基于JavaScript文字特效,效果挺流畅的JavaScript文字掉落特效. <html> <head> <title>从天而降的文字</title> <script language=JavaScript> dynamicanimAttr = "dynamicanimation" animateElements = new Arra

文字标注,多行文字操作文字标注

文字标注,多行文字操作文字标注.CAD制图设计工作中,常常会需要对CAD图纸进行文字标注.那么该如何进行文字标注呢?今天小编就给大家具体演示一下,文字标注,多行文字操作文字标注.演示步骤如下: 步骤一:首先,我们在浏览器里搜索迅捷CAD编辑器专业版下载安装到电脑端. 步骤二:运行软件,在软件底部命令框中输入ST指令,点击回车键或者空格键,打开文字样式. 步骤三:在文字样式里新增一个新的样式,选择合适的宽度和高度,选择字体后,点击确定套用. 步骤四:点击CAD软件界面顶部的"A"多行文字

迅捷CAD工具箱:文字处理-文字前后缀

小伙伴们在AUTOCAD制图过程中,常常需要加载迅捷CAD工具箱来辅助,这能使我们日常的CAD制图工作更加的方便.例如,有时候我们需要给已经编辑好的单行或是多行文字文本加上前缀或后缀,这时候该如何操作呢?小编今天就给大家介绍这样一种简单方便的方法,迅捷CAD工具箱的文字处理-文字前后.具体演示步骤如下:编辑文字文本我们先运行AUTOCAD制图软件,进行如下操作:点击菜单栏里的"注释--文字--多行文字/单行文字"选项图标,调用文字文本命令:也可以直接在命令框中输入"MTEXT

Android学习之输出HTML格式下的文字方法详解

在Android开发中,我们经常会用到TextView这个控件,在使用的过程中,我们用到最多的方法就是setText(),单纯的使用基本上能够满足我们日常的需求,但是有时候我们需要对文字进行一些处理,比如说加粗.斜体.下划线等等,这些也都是可以通过Android提供的原生方法完成.但是如果我们需要实现下面的效果呢: HTML下的文字解析(快速版) 从图片上我们可以看到,这段文字分别有 两种大小,三种颜色 .我们当然可以定义多个TextView来实现这样的效果,但是如果我们的文字变化较多,那么定义

Js文字特效—文字段逐个变色循环

自己用来练习的,附上详细注释,如果有和我一样喜欢并想要学习Dom特效创作的朋友,推荐先系统了解Javascript中Html Dom Object部分的内容,包括常用方法及属性. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>文字段逐个变色循环特效</title> </head> <body> <a href=&

C#实现图片叠加,图片上嵌入文字,文字生成图片的方法

/// <summary> /// 图片叠加 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button1_Click(object sender, EventArgs e) { string path = Server.MapPath(@"ima

闪动的文字和文字进度条控件

以前看到过有进度条是填充文字的,好奇心作祟,便想自己写一个试试,但是还是比较粗糙,进度条末端没有水流等涌动的效果. 两个控件都是继承TextView,便于设置字体大小等相关属性. 1,GradientTextView  渐变颜色的文字控件 主要用到LinearGradient类,用于渐变颜色, new LinearGradient(0, 0, width, height, colorArrays[colorIndex], gradientSpread, Shader.TileMode.MIRRO

C# 10分钟完成百度图片提取文字(文字识别)——入门篇

现在图片文字识别已经很成熟了,比如qq长按图片,点击图片识别就可以识别图片的文字,将不认识的.文字数量大的.或者不能赋值的值进行二次可复制功能. 我们现在就基于百度Ai开放平台进行个人文字识别,demo使用的是C#控制台应用程序,后续有需要的可以嫁接到指定项目中使用,比如提供选择图片,点击识别, 获取返回的值.废话不多说,上干货: 总体为: 注册百度账号api,创建自己的应用: 创建vs控制台应用程序,引入动态链接库: 编写代码调试,效果图查看: 总结. 1.创建百度AI文字识别应用   在百度

CAD关于文字样式文字显示号问题原因和解决办法

打开DWG时,图纸中使用的shx字体文件在本地电脑不能找到时,控件会默认使用缺省的字体txt.shx,hztxt.shx来代替,这样一般文字不会显示成问号,但是如果文字中的特殊符号在默认字体也一样找不到,这时就会显示成问号. 使用缺省的字体的代替的文字样式,可能会出现文字显示大小,样子不一至的效果. 这时最好的办法是,把需要使用的字体拷到MxDrawX.ocx所在目录的shx目录下,如果不知道当前用的MxDrawX.ocx在位置,可以命令行输入mx_about看到控件安装位置 如下图,打开图时,