Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
kw
17,441 views
Ogre3d 基礎
実際のコードに基づいたOgre3D資料です。これから始めようという方に。
Technology
◦
Read more
12
Save
Share
Embed
Embed presentation
Download
Downloaded 21 times
1
/ 54
2
/ 54
3
/ 54
4
/ 54
5
/ 54
6
/ 54
7
/ 54
8
/ 54
9
/ 54
10
/ 54
11
/ 54
12
/ 54
13
/ 54
14
/ 54
15
/ 54
16
/ 54
17
/ 54
18
/ 54
19
/ 54
20
/ 54
21
/ 54
22
/ 54
23
/ 54
24
/ 54
25
/ 54
26
/ 54
27
/ 54
28
/ 54
29
/ 54
30
/ 54
31
/ 54
32
/ 54
33
/ 54
34
/ 54
35
/ 54
36
/ 54
37
/ 54
38
/ 54
39
/ 54
40
/ 54
41
/ 54
42
/ 54
43
/ 54
44
/ 54
45
/ 54
46
/ 54
47
/ 54
48
/ 54
49
/ 54
50
/ 54
51
/ 54
52
/ 54
53
/ 54
54
/ 54
More Related Content
PDF
JIT のコードを読んでみた
by
y-uti
PDF
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
by
Unity Technologies Japan K.K.
PDF
Linux: the first second
by
Alison Chaiken
PDF
JVM Mechanics: Understanding the JIT's Tricks
by
Doug Hawkins
PPTX
競プロでGo!
by
鈴木 セシル
PDF
サーバ構築を自動化する 〜Ansible〜
by
Yui Ito
PDF
インフラエンジニアってなんでしたっけ(仮)
by
Akihiro Kuwano
PPTX
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
by
Fujio Kojima
JIT のコードを読んでみた
by
y-uti
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
by
Unity Technologies Japan K.K.
Linux: the first second
by
Alison Chaiken
JVM Mechanics: Understanding the JIT's Tricks
by
Doug Hawkins
競プロでGo!
by
鈴木 セシル
サーバ構築を自動化する 〜Ansible〜
by
Yui Ito
インフラエンジニアってなんでしたっけ(仮)
by
Akihiro Kuwano
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
by
Fujio Kojima
What's hot
PPTX
wakamonoによるISP的実験PROJECT AS59105のご紹介
by
Yamaguchi Katsushi
PDF
O/Rマッパーによるトラブルを未然に防ぐ
by
kwatch
PDF
OPcache の最適化器の今
by
y-uti
PPTX
OSS強化学習向けゲーム環境の動向
by
gree_tech
PPTX
非同期処理の基礎
by
信之 岩永
PPTX
OpenStack本番環境の作り方
by
VirtualTech Japan Inc.
PDF
RFC6241(Network Configuration Protocol (NETCONF))の勉強資料
by
Tetsuya Hasegawa
PDF
ニフクラでDockerを使う際のTips
by
富士通クラウドテクノロジーズ株式会社
PDF
Prism + ReactiveProperty入門
by
一希 大田
PDF
#logstudy 01 rsyslog入門
by
Takashi Takizawa
PDF
あなたはPO?PM?PdM?PjM?
by
大貴 蜂須賀
PDF
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
by
Unity Technologies Japan K.K.
PDF
ゼロからはじめるKVM超入門
by
VirtualTech Japan Inc.
PDF
KVM環境におけるネットワーク速度ベンチマーク
by
VirtualTech Japan Inc.
PDF
Nginx lua
by
Moriyoshi Koizumi
PDF
入社1年目のプログラミング初心者がSpringを学ぶための手引き
by
土岐 孝平
PPTX
Yocto Project Open Source Build System and Collaboration Initiative
by
Marcelo Sanz
PPTX
C#や.NET Frameworkがやっていること
by
信之 岩永
PDF
Editor Utility Widgetで色々便利にしてみた。
by
IndieusGames
PDF
realpathキャッシュと OPcacheの面倒すぎる関係
by
Yoshio Hanawa
wakamonoによるISP的実験PROJECT AS59105のご紹介
by
Yamaguchi Katsushi
O/Rマッパーによるトラブルを未然に防ぐ
by
kwatch
OPcache の最適化器の今
by
y-uti
OSS強化学習向けゲーム環境の動向
by
gree_tech
非同期処理の基礎
by
信之 岩永
OpenStack本番環境の作り方
by
VirtualTech Japan Inc.
RFC6241(Network Configuration Protocol (NETCONF))の勉強資料
by
Tetsuya Hasegawa
ニフクラでDockerを使う際のTips
by
富士通クラウドテクノロジーズ株式会社
Prism + ReactiveProperty入門
by
一希 大田
#logstudy 01 rsyslog入門
by
Takashi Takizawa
あなたはPO?PM?PdM?PjM?
by
大貴 蜂須賀
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
by
Unity Technologies Japan K.K.
ゼロからはじめるKVM超入門
by
VirtualTech Japan Inc.
KVM環境におけるネットワーク速度ベンチマーク
by
VirtualTech Japan Inc.
Nginx lua
by
Moriyoshi Koizumi
入社1年目のプログラミング初心者がSpringを学ぶための手引き
by
土岐 孝平
Yocto Project Open Source Build System and Collaboration Initiative
by
Marcelo Sanz
C#や.NET Frameworkがやっていること
by
信之 岩永
Editor Utility Widgetで色々便利にしてみた。
by
IndieusGames
realpathキャッシュと OPcacheの面倒すぎる関係
by
Yoshio Hanawa
Viewers also liked
PDF
海外ゲーム技術勉強会#1 OGRE3D
by
Kazuhisa Minato
ODP
マルチプラットフォーム開発導入
by
Daisuke Nikura
PPTX
C++のビルド高速化について
by
AimingStudy
PDF
Glfw3,OpenGL,GUI
by
hira_kuni_45
PPTX
[学内勉強会]C++11とdirectxライブラリ
by
Shota Homma
PDF
C++11とゲーム製作
by
uchan_nos
PPTX
Cucumber
by
openfinanceDev
PDF
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
by
Hideyuki TAKEI
PDF
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
by
akio19937
PPTX
Visual C++で使えるC++11
by
nekko1119
PDF
エクストリームC++11/14プログラミング
by
egtra
PDF
ゲーム開発者のための C++11/C++14
by
Ryo Suzuki
PPT
Direct xとopenglの隠蔽実装例
by
tecopark
PDF
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
by
Genya Murakami
PPTX
大人の分散レンダリング
by
Monta Yashi
PDF
Pythonではじめる OpenAI Gymトレーニング
by
Takahiro Kubo
PDF
並行処理初心者のためのAkka入門
by
Yoshimura Soichiro
PDF
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
by
Toshihiko Yamakami
海外ゲーム技術勉強会#1 OGRE3D
by
Kazuhisa Minato
マルチプラットフォーム開発導入
by
Daisuke Nikura
C++のビルド高速化について
by
AimingStudy
Glfw3,OpenGL,GUI
by
hira_kuni_45
[学内勉強会]C++11とdirectxライブラリ
by
Shota Homma
C++11とゲーム製作
by
uchan_nos
Cucumber
by
openfinanceDev
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
by
Hideyuki TAKEI
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
by
akio19937
Visual C++で使えるC++11
by
nekko1119
エクストリームC++11/14プログラミング
by
egtra
ゲーム開発者のための C++11/C++14
by
Ryo Suzuki
Direct xとopenglの隠蔽実装例
by
tecopark
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
by
Genya Murakami
大人の分散レンダリング
by
Monta Yashi
Pythonではじめる OpenAI Gymトレーニング
by
Takahiro Kubo
並行処理初心者のためのAkka入門
by
Yoshimura Soichiro
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
by
Toshihiko Yamakami
Similar to Ogre3d 基礎
PDF
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
by
Atsushi Tadokoro
PDF
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
by
nyagasuki
PPTX
Ember.js Tokyo event 2014/09/22 (Japanese)
by
Yuki Shimada
PDF
Flashup13 Basic Training of Flare3D
by
Katsushi Suzuki
PDF
IbisPaintのOpenGLES2.0
by
Eiji Kamiya
PDF
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
by
Takahito Tejima
PPTX
Delphi で超高速 OpenGL 2D/3D 描画
by
LUXOPHIA institute
PDF
OpenGL 3DCG
by
Takenori Nakagawa
KEY
シェーダーしよっ☆ Let's play shaders!
by
Yuichi Higuchi
PDF
1. モデリング 3 dcg制作の流れ _ 基礎知識 _ blender入門(2
by
Sasaki Minoru
PDF
WebGL and Three.js
by
yomotsu
PPTX
Shadow gunのサンプルから学べるモバイル最適化
by
Katsutoshi Makino
PDF
Effekseer勉強会 機能解説など
by
ueshita
PDF
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
by
AdvancedTechNight
PDF
Flashup 12 Basic Training of Away3D
by
Katsushi Suzuki
PDF
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"
by
Ryo Suzuki
PDF
three.js はじめましょ
by
Hiroaki Okubo
PDF
Three.jsで3D気分
by
Toshio Ehara
PPTX
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
by
Fujio Kojima
PDF
Cocos2d x-sprite3d
by
aktsk
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL
by
Atsushi Tadokoro
【TechBuzz】第9回cocos2d-x勉強会「シェーダ書いてますか?」
by
nyagasuki
Ember.js Tokyo event 2014/09/22 (Japanese)
by
Yuki Shimada
Flashup13 Basic Training of Flare3D
by
Katsushi Suzuki
IbisPaintのOpenGLES2.0
by
Eiji Kamiya
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
by
Takahito Tejima
Delphi で超高速 OpenGL 2D/3D 描画
by
LUXOPHIA institute
OpenGL 3DCG
by
Takenori Nakagawa
シェーダーしよっ☆ Let's play shaders!
by
Yuichi Higuchi
1. モデリング 3 dcg制作の流れ _ 基礎知識 _ blender入門(2
by
Sasaki Minoru
WebGL and Three.js
by
yomotsu
Shadow gunのサンプルから学べるモバイル最適化
by
Katsutoshi Makino
Effekseer勉強会 機能解説など
by
ueshita
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
by
AdvancedTechNight
Flashup 12 Basic Training of Away3D
by
Katsushi Suzuki
CG 論文講読会 2013/5/20 "Clustered deferred and forward shading"
by
Ryo Suzuki
three.js はじめましょ
by
Hiroaki Okubo
Three.jsで3D気分
by
Toshio Ehara
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
by
Fujio Kojima
Cocos2d x-sprite3d
by
aktsk
Ogre3d 基礎
1.
Ogre3D 基礎
2013年 1月
2.
Ogre3Dとは
Entity SceneNode SceneManager Viewport シーンの完全なクリア、解放 ジオメトリ 2Dイメージの表示 日本語フォント表示
3.
Ogre3Dとは
4.
Ogre3D レンダリングに特化し、シーン グラフに基づくシーン指向なエ ンジン Direct3D/OpenGLを抽象化し たクラスライブラリでC++等各 種プログラミング言語に対応 カスタムシェーダ LOD スケルタルアニメーション MITライセンス
5.
シーンの最小構成 SceneManager SceneNode Camera Entity
SceneManager Node カメラ RootNode Node Entity
6.
シーンの描画 Camera Window(レンダーターゲット) Viewport
カメラ Viewport Window
7.
Entity
8.
Entity シーン内に存在する移動可能な
//Entity作成 Ogre::Entity* ent = NULL; オブジェクト(麻雀牌、点棒) Entityにメッシュとマテリアル ent = mSceneMgr->createEntity( を割当てる "msh:PaiBody:0" Entityインスタンスを通して ); ent->setMaterialName( Entityを複製可能 "mtr:Pai:1" ); ent->setCastShadows( true );
9.
Entity 解放
// Entity解放 mSceneMgr->destroyEntity( "msh:PaiBody:0" ); // SceneNode, Entitie, // Lightなど解放 mSceneMgr->clearScene();
10.
SceneNode
11.
SceneNode SceneNodeはシーングラフ階
//SceneNode作成 Ogre::SceneNode* node = NULL; 層のノード 作成したノードにEntityやカメ node = mSceneMgr-> ラといった要素を登録すること getRootSceneNode()-> でシーンを構築 createChildSceneNode( “node:1” ); node->attachObject( ent );
12.
SceneNode 解放
// SceneNode解放 mSceneMgr->getRootSceneNode()-> removeAndDestroyChild( “node:1” ); // SceneNode, Entitie, // Lightなど解放 mSceneMgr->clearScene();
13.
SceneNode操作 SceneNodeを介して 移動/拡
//SceneNodeにEntityを登録 大/回転などをおこなう node->attachObject( ent ); 一つの子ノードに複数のEntity を登録可能。同一ノードに属す // グローバル移動 るオブジェクトに同一操作が適 node->setPosition(RX, RY, RZ); 用できる。 // スケール node->setScale(1.00, 1.00, 1.00); // 回転 node->yaw( Ogre::Radian(1.57), Ogre::Node::TS_WORLD );
14.
オーバーレイ用SceneNode Overlay用の3D空間は別
//SceneNodeを作成 ルートノードを自前で作成 Ogre::SceneNode* node_ov = new Ogre::SceneNode( mSceneMgr, name ); // SceneNodeを解放 delete node_ov; node_ov = NULL;
15.
SceneManager
16.
SceneManager シーングラフを管理
//SceneManager作成 mSceneMgr = レンダリング方式の選定※1 gm->GM_getOgreRoot()-> SceneManagerインスタンス createSceneManager( を作成するとルートノードがひ Ogre::ST_GENERIC とつ作られる ); ルートノードを基点に、各種オ ブジェクト(Entity、カメラ、 パーティクル、Skyboxなど) を登録 ※1 Octree、BSP、Portal、Pagingなど
17.
SceneManager
Node MainCamera 麻雀ゲームの例 Node SubCamera SceneManager Node Light Node Shadow RootNode Node 麻雀牌 Node 卓 Node 点棒 RootNode Node 前面の牌 Node パネル Overlay用 Node 文字 Node スコア
18.
SceneManager 解放
// SceneManager解放 Ogre::SceneManager* scene = NULL scene = Client->getSceneMgr(); if( scene ){ // SceneManager解放 gm->GM_getOgreRoot()-> destroySceneManager(scene); }
19.
SceneManager 複数のSceneManagerインス タンスを持てる デフォルトのレンダリング方式 では空間分割は行われない
20.
Viewport
21.
Viewport レンダーターゲット上の描画領
// Viewport作成 unsigned short zorder = 100; 域とカメラを結びつける Direct3D9/OpenGLの Ogre::Viewport* vp = Viewportと同じ gm->GM_getOgreWindow()-> カメラ毎にViewportは1個ま addViewport ( mCamera, で割当て zorder, レンダーターゲット毎に複数の 0.0f, 0.0f, //left, top Viewportを追加できる 1.0f, 1.0f //width, height );
22.
Viewport 麻雀ゲームの例
カメラ Window カメラ カメラ Texture
23.
Viewport 解放
// Viewport解放 Ogre::RenderWindow* window = gm->GM_getOgreWindow(); if( window ){ window->removeViewport( zorder ); }
24.
Viewport Viewport毎にオーバーレイの
// Viewportを隠す Ogre::Viewport* vp = 表示/非表示の切替可能 camera->getViewport(); Viewportを最小化して隠すテ クニック(Viewportの再作成が if( vp ){ 面倒な場合) //幅を0に vp->setDimensions( 0.0f, 0.0f, 0.0f, 0.0f ); //フレーム更新をおこなわない vp->setAutoUpdated( false ); }
25.
シーンの完全なクリア、解放
26.
手順 以下の順に削除/解放をおこなう 1)Mesh、ManualObject、Stat
6) Compositor icGeometry 7) CompositorChain 2) Material 8) Viewport 3) Texture 9) Camera 4) OverlayElement 10) SceneNode 5) Overlay 11) SceneManager
27.
例 // 1) Mesh
// 4) OverlayElement Ogre::MeshManager::getSingleton(). Ogre::MaterialManager::getSingleton(). remove( "msh:Floor:0" ); remove( "p:ScoreBoard:0" ); // 2) Material Ogre::MaterialManager::getSingleton(). Ogre::OverlayManager::getSingleton(). remove( "mtr:Floor:0" ); destroyOverlayElement( // 3) Texture "p:ScoreBoard:0" Ogre::TextureManager::getSingleton(). ); remove( "RTT_Texture" ); // 5) Overlay Ogre::OverlayManager::getSingleton(). destroy( "OnSceneOverlay" );
28.
例 // 6) Compositor
// 7) CompositorChain Ogre::Viewport* vp = Ogre::Viewport* vp = camera->getViewport(); camera->getViewport(); if( vp ) if( vp ) { { Ogre::CompositorManager:: Ogre::CompositorManager:: getSingleton(). getSingleton(). removeCompositor( vp, removeCompositorChain( vp ); "Bloom" } ); }
29.
例 // 8) Viewport
// 9) Camera Ogre::RenderWindow* window = mSceneMgr->destroyAllCameras(); gm->GM_getOgreWindow(); if( window ){ window->removeAllViewports(); }
30.
例 // 10) SceneNode,
Entitie, Lightなど // 11) SceneManager mSceneMgr->clearScene(); gm->GM_getOgreRoot()-> destroySceneManager( mSceneMgr );
31.
忘れがちなこと ManualObjectから convertToMeshしたらメッ シュが作られるのでこれも解放 対象
32.
ジオメトリ
33.
プリミティブ・ジオメトリ Rectangle2D
//Rectangle2D作成 シンプルな平面型の四角形※例 rect = new Ogre::Rectangle2D( true ); WireBoundingBox ワイヤーフレーム型のボックス Ogre::SceneNode*node = mSceneMgr-> getRootSceneNode()-> createChildSceneNode( "node:2" ); node->attachObject( rect ); rect->setMaterial( "mtr:Floor:0" );
34.
プリミティブ・ジオメトリ Rectangle2D解放
//Rectangle2D解放 delete rect; Rectangle2Dインスタンスを先 に解放。関連するマテリアルや Ogre::MaterialManager:: テクスチャはその後削除 getSingleton(). remove( "mtr:Floor:0" );
35.
カスタム・ジオメトリ ManualObjectを使用 2種類の表示の仕方 SceneNodeに直接登録
convertToMeshメソッドでメッシュ 化したあとEntity登録※コード例
36.
カスタム・ジオメトリ //ManualObject作成
mo->triangle(0,2,1); Ogre::ManualObject* mo = NULL; mo->triangle(2,0,3); mo = mSceneMgr-> mo->end(); createManualObject(“NakiMark”); //ManualObjectをメッシュ化 mo->position(cmW,cpH,0); mo->convertToMesh( mo->textureCoord( 0,0f, 1.0f ); “msh:NakiMark:0” mo->position(cpW,cpH,0); ); mo->textureCoord( 1.0f, 1.0f ); //Entity作成 mo->position(cpW,cmH,0); Ogre::Entity* ent = mSceneMgr-> mo->textureCoord( 1.0f, 0.0f ); createEntity("msh:NakiMark:0"); mo->position(cmW,cmH,0); mo->textureCoord( 0.0f, 0.0f ); //この後 nodeにattachして表示
37.
スタティック・ジオメトリ 複数のEntityを単一オブジェ クト化 GPUへの転送命令を減らして 性能向上 スタティック・ジオメトリは 分割できない すべて表示されるか、すべて 表示されないか(カリングに 問題を持つ)
38.
プリミティブ・メッシュ CreatePlane
//CreatePlane作成 シンプルな平面※コード例 Ogre::MeshManager:: getSingleton().createPlane( CreateCurvedIllusionPlane "msh:Floor:0", 平面上に曲率を再現 Ogre::ResourceGroupManager:: CreateCurvedPlane DEFAULT_RESOURCE_GROUP_NAME, CreateBezierPatch *plane, //MovablePlane ベジェ曲面 50, 50, 1, 1, true, 1, 1.0f, 1.0f, Ogre::Vector3::UNIT_Z );
39.
2Dイメージの表示
40.
Ogre3Dでの2D表示方法 A) Overlay APIを使う B)
Manaual Objectを使う C) Ogre内部APIを使って描画 D) 外部ライブラリを使う それぞれ長所短所あり
41.
A)Overlay APIを使う 表示/非表示の切替が可能
3Dオーバーレイではマウスカー Overlay::rotateで回 ソル位置を拾えない(Rayを使 転、Overlay::setScaleで拡縮 用できない) ダイナミック・テクスチャによ Entity::getWorldBoundingB り各種ブレンディング処理が可 oxもしくは、スクリーン座標か 能 らマウスカーソルを判定
42.
B)Manual Objectを使う 回転、拡縮が可能 各種ブレンディング処理が可能 リアルタイムに制御するにはマ テリアルの操作が必要 視点に左右され、dot by
dotな 表示に難点
43.
C)Ogre内部APIを使って描画 各種ブレンディング処理が可能 回転、拡縮はOgre内部コードを 拡張する必要 簡易2Dスプライトマネージャ http://www.ogre3d.org/tikiw
iki/SpriteManager2d&struct ure=Cookbook
44.
D)外部ライブラリを使う CEGUI、Gorilla、OgreMagic など モジュールサイズが大きくなる CEGUI http://www.cegui.org.uk/wi
ki/index.php/Main_Page Gorilla※シンプルでお勧め http://www.ogre3d.org/tikiw iki/Gorilla OgreMagic http://www.freewebs.com/o gremagic/index.htm
45.
Overlayの使用方法 プログラムからOverlayを作 成してみます※コード例 テクスチャ画像を読み込んで Ovelayとして表示するサン プル
function_panel.png
46.
Overlayの使用方法 //Overlay作成
//PanelOverlayElement作成 Ogre::Overlay* ov = Ogre::OverlayContainer*oct = Ogre::OverlayManager:: cm->CM_createPanelOverlayElement getSingleton(). ( create( "OnSceneOverlay" ); "p:MesgPanel:0", "function_panel.png", ov->setZOrder( 1 ); //650が最前面 0, 0, 70, 26, ov->show(); 1.0f ); //Overlayに登録 ov->add2D( oct );
47.
Overlayの使用方法 //PanelOverlayElement取得
//表示位置 Ogre::PanelOverlayElement* e = int vpW = 800; //スクリーン幅 static_cast int vpH = 600; <Ogre::PanelOverlayElement *> (Ogre::OverlayManager:: e->setPosition(400/vpW, 200/vpH); getSingleton(). e->show(); getOverlayElement( “p:MesgPanel:0” //画面表示完了 ) );
48.
日本語フォント表示
49.
日本語フォント表示 fontdefファイルに設定を記
MyFont { 述する type truetype typeセクションにtruetype source meiryo.ttc を指定した場合、sourceに size 32 resolution 96 フォントデータを指定 code_points 33-166 typeセクションにimageを 12272-12543 指定した場合、sourceに画 23383-23383 28450-28450 像ファイルを指定 }
50.
日本語フォント表示 fontdefファイルの
MyFont { code_pointセクションに type truetype コードポイント(符号点)を記 source meiryo.ttc 述 size 32 resolution 96 code_pointセクションには code_points 33-166 Unicodeを指定 12272-12543 23383-23383 28450-28450 }
51.
Overlayにテキストを表示 //Overlay作成
//PanelOverlayElement作成 Ogre::Overlay* ov = Ogre::OverlayContainer*oct = Ogre::OverlayManager:: cm->CM_createTextOverlayElement getSingleton(). ( create( "OnSceneOverlay" ); "t:DEBUG:0", TEXT("デバッグモードです。"), ov->setZOrder( 1 ); //650が最前面 MIDDLE_FONT, //サイズ ov->show(); COLOR_WHITE //色 ); //Overlayに登録 ov->add2D( oct );
52.
Overlayにテキストを表示 //PanelOverlayElement取得
//表示位置 Ogre::PanelOverlayElement* e = int vpW = 800; //スクリーン幅 static_cast int vpH = 600; <Ogre::PanelOverlayElement *> (Ogre::OverlayManager:: e->setPosition(100/vpW, 100/vpH); getSingleton(). e->show(); getOverlayElement( ”t:DEBUG:0” //画面表示完了 ) );
53.
その他 必要なcode pointのみを指
Ogreでの日本語表示につい 定する。多くを指定するとテ ては下記URLを参考にさせて クスチャが消費 いただきました。 フォントのライセンス < CreoSproutソフトウェア研 再配布可能な日本語フォント 究部 > http://ahirujigen.blog97.fc2. その他、改変/商用可否など com/blog-entry-279.html
Download