<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/nxpp/">
    <title>irrlicht &amp;amp; nx++ プログラミングメモ</title>
    <link>http://w.atwiki.jp/nxpp/</link>
    <atom:link href="https://w.atwiki.jp/nxpp/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>irrlicht &amp;amp; nx++ プログラミングメモ</description>

    <dc:language>ja</dc:language>
    <dc:date>2011-06-23T10:55:54+09:00</dc:date>
    <utime>1308794154</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/nxpp/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/nxpp/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/nxpp/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/nxpp/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/nxpp/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/nxpp/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/nxpp/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/nxpp/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/nxpp/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/nxpp/pages/13.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/nxpp/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/nxpp/pages/2.html</link>
    <description>
      **メニュー
-[[トップページ]]
-[[コメント板]]
-[[リンク]]
----
**irrlicht
導入
-[[１. 始めに]]
-[[２. 環境設定]]
基礎
-[[３. irrlicht初期化]]
-[[４. 2Dグラフィック表示]]
-[[５. ゲームパッド入出力]]

**nx++    </description>
    <dc:date>2011-06-23T10:55:54+09:00</dc:date>
    <utime>1308794154</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/nxpp/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/nxpp/pages/1.html</link>
    <description>
      オープンソースグラフィックライブラリ、&amp;font(cyan){irrlicht}とその派生物の&amp;font(cyan){nx++}について学習し、その過程を記録するサイトです。

対象はwindows 7となっておりますが、
windowsNTやlinux、macosxでも動く可能性はあります。

合計：&amp;counter()
今日：&amp;counter(today)
昨日：&amp;counter(yesterday)    </description>
    <dc:date>2011-06-23T10:51:00+09:00</dc:date>
    <utime>1308793860</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/nxpp/pages/20.html">
    <title>４. 2Dグラフィック表示</title>
    <link>https://w.atwiki.jp/nxpp/pages/20.html</link>
    <description>
      
&lt;h1&gt;&lt;span style=&quot;background-color:rgb(255,255,153);&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;＊概要　　　　　　　　　　　　　　　　　　　　　　&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;
　irrlichtで2Dグラフィックを表示します。表示しているのは、irrlichtのロゴと背景マップ、そしてインプ二匹です。インプは二枚が交互に切り替わりアニメーションしています。片方のインプには指定色の加減合成も行っています。irrlichtの2Dグラフィック機能は、色の加算合成？とクリッピング機能がありますが、回転ができないのでノベルゲームなどの静的なゲームに向いています。&lt;/p&gt;
&lt;p&gt; &lt;img src=&quot;http://www45.atwiki.jp/nxpp/?cmd=upload&amp;amp;act=open&amp;amp;page=%EF%BC%94.%20%E3%82%B9%E3%83%97%E3%83%A9%E3%82%A4%E3%83%88%E8%A1%A8%E7%A4%BA&amp;amp;file=004_sample.jpg&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
 &lt;/p&gt;
&lt;p&gt;サンプルで使用されている画像&lt;/p&gt;
&lt;p&gt;・&lt;a href=&quot;http://www45.atwiki.jp/nxpp/?cmd=upload&amp;amp;act=open&amp;amp;page=%EF%BC%94.%20%E3%82%B9%E3%83%97%E3%83%A9%E3%82%A4%E3%83%88%E8%A1%A8%E7%A4%BA&amp;amp;file=2ddemo.png&quot; target=&quot;_blank&quot;&gt;2ddemo.png&lt;/a&gt;&lt;br /&gt;
 &lt;/p&gt;
&lt;hr /&gt;&lt;h2&gt; &lt;/h2&gt;
&lt;h1&gt;&lt;span style=&quot;background-color:rgb(204,255,204);&quot;&gt;＊ソースコード　　　　　　　　　　　　　　　　　　&lt;/span&gt;&lt;/h1&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:608px;height:663px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;#include &amp;lt;tchar.h&amp;gt;&lt;br /&gt;
#include &amp;lt;irrlicht.h&amp;gt;&lt;br /&gt;&lt;br /&gt;
#ifdef WIN32&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#endif&lt;br /&gt;&lt;br /&gt;
using namespace irr;&lt;br /&gt;
using namespace core;&lt;br /&gt;
using namespace video;&lt;br /&gt;&lt;br /&gt;
#ifdef WIN32&lt;br /&gt;
int WINAPI _tWinMain( HINSTANCE,HINSTANCE,LPTSTR,int )&lt;br /&gt;
#else&lt;br /&gt;
int main( int,TCHAR* )&lt;br /&gt;
#endif&lt;br /&gt;
{&lt;br /&gt;
    // irrlichtを初期化。&lt;br /&gt;
    IrrlichtDevice *device = createDevice(EDT_OPENGL,&lt;br /&gt;
            dimension2d&amp;lt;u32&amp;gt;(480,360));&lt;br /&gt;
    IVideoDriver* driver = device-&amp;gt;getVideoDriver();&lt;br /&gt;
    device-&amp;gt;setWindowCaption(_T(&quot;2D Texture Draw Sample!&quot;));&lt;br /&gt;&lt;br /&gt;
  &lt;span style=&quot;color:rgb(255,0,0);&quot;&gt; // テクスチャ読み込み&lt;br /&gt;
    ITexture* images = driver-&amp;gt;getTexture( _T(&quot;2ddemo.png&quot;) );&lt;br /&gt;
    driver-&amp;gt;makeColorKeyTexture( images , position2d&amp;lt;s32&amp;gt;(0,0) );&lt;br /&gt;&lt;br /&gt;
    // 画像のインプ部分の領域設定&lt;br /&gt;
    rect&amp;lt;s32&amp;gt; imp1(349,15,385,78);&lt;br /&gt;
    rect&amp;lt;s32&amp;gt; imp2(387,15,423,78);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;
    // 描画ループ&lt;br /&gt;
    while(device-&amp;gt;run() &amp;amp;&amp;amp; driver)&lt;br /&gt;
    {&lt;br /&gt;
     &lt;span style=&quot;color:rgb(255,0,0);&quot;&gt;   // 時間を取得。&lt;br /&gt;
        u32 timecount = device-&amp;gt;getTimer()-&amp;gt;getTime();&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
        driver-&amp;gt;beginScene(true, true, SColor(255,0,0,255));&lt;span style=&quot;color:rgb(255,0,0);&quot;&gt;&lt;br /&gt;
        &lt;br /&gt;
        // テクスチャを描画&lt;br /&gt;
        // draw fire &amp;amp; dragons background world&lt;br /&gt;
        driver-&amp;gt;draw2DImage(images, position2d&amp;lt;s32&amp;gt;(50,50),&lt;br /&gt;
                rect&amp;lt;s32&amp;gt;(0,0,342,224), 0,&lt;br /&gt;
                SColor(255,255,255,255), true);&lt;br /&gt;&lt;br /&gt;
        // インプを描画。&lt;br /&gt;
        driver-&amp;gt;draw2DImage(images, position2d&amp;lt;s32&amp;gt;(164,125),&lt;br /&gt;
                (timecount/500 % 2) ? imp1 : imp2, 0,&lt;br /&gt;
                SColor(255,255,255,255), true);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;
        &lt;span style=&quot;color:rgb(255,0,0);&quot;&gt;// 変化していく色が加算されたインプを描画。&lt;br /&gt;
        driver-&amp;gt;draw2DImage(images, position2d&amp;lt;s32&amp;gt;(270,105),&lt;br /&gt;
                (timecount/500 % 2) ? imp1 : imp2, 0,&lt;br /&gt;
                SColor(255,( timecount) % 255,255,255), true);&lt;br /&gt;&lt;br /&gt;
        // irrlichtのロゴを描画。&lt;br /&gt;
        driver-&amp;gt;draw2DImage(images, rect&amp;lt;s32&amp;gt;(10,10,108,48),&lt;br /&gt;
                rect&amp;lt;s32&amp;gt;(354,87,442,118));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;
        driver-&amp;gt;endScene();&lt;br /&gt;
    }&lt;br /&gt;&lt;br /&gt;
    // デバイスの削除&lt;br /&gt;
    device-&amp;gt;drop();&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt; &lt;/h2&gt;
    </description>
    <dc:date>2011-06-17T12:47:08+09:00</dc:date>
    <utime>1308282428</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/nxpp/pages/19.html">
    <title>４. スプライト表示</title>
    <link>https://w.atwiki.jp/nxpp/pages/19.html</link>
    <description>
          </description>
    <dc:date>2011-06-17T12:45:35+09:00</dc:date>
    <utime>1308282335</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/nxpp/pages/18.html">
    <title>１. 始めに</title>
    <link>https://w.atwiki.jp/nxpp/pages/18.html</link>
    <description>
      
&lt;p&gt;　このwikiは筆者がirrlichtの学習過程を残すために作成したものです。&lt;br /&gt;
筆者のプログラムスキルは非常に低い（謙虚とかそういうのじゃなくてホントに）し、&lt;br /&gt;
ハード関係の知識もないので、のでそこらへんを理解して目を通してください。&lt;br /&gt;&lt;br /&gt;
対象読者はCとC++のテンプレート機能までを、理解している。または、&lt;br /&gt;
わからないことを自分で調べられる読者。&lt;br /&gt;&lt;br /&gt;
コメント板ではirrlichtの質問は極力答えますが、CやC++などについては自分で勉強してください。&lt;/p&gt;
    </description>
    <dc:date>2011-06-06T12:33:21+09:00</dc:date>
    <utime>1307331201</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/nxpp/pages/17.html">
    <title>３. irrlicht初期化</title>
    <link>https://w.atwiki.jp/nxpp/pages/17.html</link>
    <description>
      
&lt;h1&gt;&lt;span style=&quot;background-color:rgb(255,255,153);&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;＊概要　　　　　　　　　　　　　　　　　　　　　　&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;　irrlichtを初期化して、空のウィンドウを表示します。&lt;br /&gt;
irrlichtは初期化と同時にウィンドウを生成してくれるので、CreateWindowなどのAPIを呼び出す必要はありません。&lt;/p&gt;
&lt;p&gt; &lt;img src=&quot;http://www45.atwiki.jp/nxpp/?cmd=upload&amp;amp;act=open&amp;amp;page=%EF%BC%93.%20%E5%88%9D%E6%9C%9F%E5%8C%96%EF%BD%9E%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E8%A1%A8%E7%A4%BA%E3%81%BE%E3%81%A7&amp;amp;file=003_sample.jpg&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
 &lt;/p&gt;
&lt;h2&gt;&lt;br /&gt;
 &lt;/h2&gt;
&lt;hr /&gt;&lt;h2&gt; &lt;/h2&gt;
&lt;h1&gt;&lt;span style=&quot;background-color:rgb(204,255,204);&quot;&gt;＊ソースコード　　　　　　　　　　　　　　　　　　&lt;/span&gt;&lt;/h1&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:608px;height:663px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;#include
&amp;lt;tchar.h&amp;gt;&lt;br /&gt;
#include &amp;lt;irrlicht.h&amp;gt;&lt;br /&gt;&lt;br /&gt;
#ifdef WIN32&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#endif&lt;br /&gt;&lt;br /&gt;
using namespace irr;&lt;br /&gt;
using namespace core;&lt;br /&gt;
using namespace video;&lt;br /&gt;&lt;br /&gt;
#ifdef WIN32&lt;br /&gt;
int WINAPI _tWinMain( HINSTANCE,HINSTANCE,LPTSTR,int )&lt;br /&gt;
#else&lt;br /&gt;
int main( int,TCHAR* )&lt;br /&gt;
#endif&lt;br /&gt;
{&lt;br /&gt;
    // irrlichtを初期化。&lt;br /&gt;
    IrrlichtDevice *device = createDevice(EDT_OPENGL,&lt;br /&gt;
          dimension2d&amp;lt;u32&amp;gt;(480,360));&lt;br /&gt;&lt;br /&gt;
    //ビデオドライバーを取得&lt;br /&gt;
    IVideoDriver* driver = device-&amp;gt;getVideoDriver();&lt;br /&gt;&lt;br /&gt;
    // タイトルバー文字列設定&lt;br /&gt;
    device-&amp;gt;setWindowCaption(_T(&quot;Hello World!&quot;));&lt;br /&gt;&lt;br /&gt;
    // 描画ループ&lt;br /&gt;
    while(device-&amp;gt;run() &amp;amp;&amp;amp; driver)&lt;br /&gt;
    {&lt;br /&gt;
        driver-&amp;gt;beginScene(true, true, video::SColor(255,0,0,255));&lt;br /&gt;&lt;br /&gt;
        driver-&amp;gt;endScene();&lt;br /&gt;
    }&lt;br /&gt;&lt;br /&gt;
    // デバイスの削除&lt;br /&gt;
    device-&amp;gt;drop();&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt; &lt;/h2&gt;
&lt;hr /&gt;&lt;h2&gt; &lt;/h2&gt;
&lt;h1&gt;&lt;span style=&quot;background-color:rgb(204,255,255);&quot;&gt; ＊ソースコード解説　　　　　　　　　　　　　　　　&lt;/span&gt;&lt;/h1&gt;
&lt;h2&gt;&lt;span style=&quot;background-color:rgb(255,204,0);&quot;&gt;&lt;strong&gt;&lt;em&gt;・ヘッダファイルのインクルード&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:607px;height:124px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;#include
&amp;lt;tchar.h&amp;gt;&lt;br /&gt;
#include &amp;lt;irrlicht.h&amp;gt;&lt;br /&gt;&lt;br /&gt;
#ifdef WIN32&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#endif&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt; 　まず、必要なヘッダファイルをインクルードします。UNICODEとマルチバイトに対応するため&lt;span style=&quot;color:rgb(51,51,153);&quot;&gt;&lt;span style=&quot;background-color:rgb(255,255,255);&quot;&gt;&lt;span style=&quot;font-size:small;&quot;&gt;&lt;strong&gt;tchar.h&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;を、&lt;br /&gt;
次にirrlichtを使用するために&lt;span style=&quot;color:rgb(51,51,153);&quot;&gt;&lt;strong&gt;irrlicht.h&lt;/strong&gt;&lt;/span&gt;を、最後に&lt;span style=&quot;background-color:rgb(255,153,204);&quot;&gt;Windows環境の場合のみ&lt;/span&gt;&lt;span style=&quot;color:rgb(51,51,153);&quot;&gt;&lt;span style=&quot;background-color:rgb(255,255,255);&quot;&gt;&lt;strong&gt;windows.h&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;をインクルードします。&lt;br /&gt;
#define WIN32とはWindows上でのみ定義されるプリプロセッサで、メイン関数の部分も、環境により&lt;br /&gt;
main関数かWinMain関数に定義されます。&lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;background-color:rgb(255,204,0);&quot;&gt;&lt;strong&gt;&lt;br /&gt;
・名前空間省略設定&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:608px;height:73px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;&lt;br /&gt;
using namespace irr;&lt;br /&gt;
using namespace core;&lt;br /&gt;
using namespace video;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt; 　irrlichtのクラスや定数、関数は全て名前空間に振り分けられています。&lt;br /&gt;
いちいちirr::video::～～と書くのは面倒なのでusing機能で省略します。&lt;br /&gt;
 &lt;/p&gt;
&lt;h3&gt;&lt;br /&gt;
 ・irrlichtの名前空間の一覧表&lt;/h3&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:608px;height:304px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;irr&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;全てのクラスや関数、定数が含まれている空間。&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;irr::core&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;ベクトル、平面、配列、リストが含まれてる空間。&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;irr::gui&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;グラフィカルユーザーインターフェイスを簡単に作成するための便利なクラスが含まれている空間。&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;irr::io&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;入力/出力用のインターフェイスが含まれている空間。&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;irr::scene&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;シーン管理、メッシュ読み込みやビルボードなどの高レベル描画インターフェイスが含まれている空間。&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;irr::scene::quake3&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;quake3？関係が含まれている空間。&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;irr::video&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;ビデオドライバにアクセスする機能や２Ｄ、３Ｄのレンダリングなどの低レベル描画インターフェイスが含まれている空間。&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt; &lt;br /&gt;&lt;span style=&quot;background-color:rgb(255,204,0);&quot;&gt;&lt;strong&gt;・irrlichtの初期化&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:612px;height:84px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;// irrlichtを初期化。&lt;br /&gt;
    IrrlichtDevice *device = createDevice(EDT_OPENGL,&lt;br /&gt;
          dimension2d&amp;lt;u32&amp;gt;(480,360));&lt;br /&gt;
  &lt;br /&gt;
    //ビデオドライバーを取得&lt;br /&gt;
    IVideoDriver* driver = device-&amp;gt;getVideoDriver();&lt;br /&gt;&lt;br /&gt;
    // タイトルバー文字列設定&lt;br /&gt;
    device-&amp;gt;setWindowCaption(_T(&quot;Hello World!&quot;));&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;　irrlichtを使用するにはまず、irrlichtデバイスを作成しなければならないので、&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;createDevice&lt;/span&gt;でirrlichtのデバイスを作成します。&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;createDevice&lt;/span&gt;の引数は左から、描画エンジン、画面の大きさとなっています。描画エンジンには&lt;br /&gt;
Direct3D8,9、OpenGL、ソフトウェアを選べますが、今回はOpenGLにします。&lt;span style=&quot;color:rgb(0,255,255);&quot;&gt;dimension2d&lt;/span&gt;は二次元座標を表すテンプレートクラスです。デバイスを作成すれば、irrlichtのエンジンにアクセスできるようになります。&lt;br /&gt;&lt;br /&gt;
次に作成したデバイスの関数&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;getVideoDriver&lt;/span&gt;を使用して、irrlichtのビデオドライバーを取得します。&lt;br /&gt;
ビデオドライバーは基本的な描画やプリミティブ（三角形や頂点）単位の描画を行う際に使用します。&lt;br /&gt;&lt;br /&gt;
最後に&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;setWindowCaption&lt;/span&gt;関数でウィンドウのタイトル文字列を&lt;span style=&quot;color:rgb(128,0,0);&quot;&gt;Hello World!&lt;/span&gt;に設定しています。&lt;/p&gt;
&lt;hr /&gt;&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size:x-large;&quot;&gt;&lt;span style=&quot;color:rgb(255,0,0);&quot;&gt;createDevice()&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;IrrlichtDevice* createDevice( &lt;br /&gt;
          E_DRIVER_TYPE  deviceType = EDT_SOFTWARE,&lt;br /&gt;
          const dimension2d&amp;lt; u32 &amp;gt; &amp;amp;      windowSize =
(dimension2d&amp;lt; u32 &amp;gt;(640, 480)),&lt;br /&gt;
         u32                            bits               = 16,&lt;br /&gt;
         bool                           fullscreen     = false,&lt;br /&gt;
         bool                           stencilbuffer = false,&lt;br /&gt;
         bool                           vsync            = false,&lt;br /&gt;
         IEventReceiver *      receiver       = 0     &lt;br /&gt;
    );&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;irrlichtデバイスを作成します。作成したデバイスは、様々なオブジェクトの生成に使用します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;deviceType&lt;/strong&gt;　
：　描画エンジンを設定します。これはEDT_DIRECT3D9やEDT_OPENGLなどを指定できます。&lt;br /&gt;&lt;strong&gt;windowSize&lt;/strong&gt;   ：　ウィンドウのサイズを指定します。&lt;br /&gt;&lt;strong&gt;bits&lt;/strong&gt;                  
：　フルスクリーンでのピクセルあたりのビット数を指定。ウィンドウモードでは無視されます。&lt;br /&gt;&lt;strong&gt;fullscreen&lt;/strong&gt;       ：　フルスクリーンモードが有効か、を指定します。&lt;br /&gt;&lt;strong&gt;stencilbuffer&lt;/strong&gt; 
：　ステンシルバッファを有効にする場合にtrueを指定します。有効の場合、ステンシルシャドウが使用できます。&lt;br /&gt;&lt;strong&gt;vsync&lt;/strong&gt;               ：　垂直帰線待ちが有効か、を指定します。&lt;br /&gt;&lt;strong&gt;receiver&lt;/strong&gt;          ：　使用するユーザーレシーバーのポインタを指定します。　&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;戻り値&lt;/strong&gt;　　  　：　IrrlichtDeviceのポインタ、失敗した場合はNULLが戻ります。&lt;/p&gt;
&lt;h1&gt;&lt;span style=&quot;color:rgb(255,0,0);&quot;&gt;getVideoDriver()&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;IVideoDriver*
IrrlichtDevice::getVideoDriver();&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;2Dや3Dを描画するためのビデオドライバーを取得します。作成したビデオドライバーは低レベル描画に使用します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;戻り値&lt;/strong&gt;　　　：　ビデオドライバーのポインタが戻ります。&lt;br /&gt;
 &lt;/p&gt;
&lt;h1&gt;&lt;span style=&quot;color:rgb(255,0,0);&quot;&gt;setWindowCaption()&lt;/span&gt;&lt;em&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;void IrrlichtDevice::setWindowCaption(  const wchar_t *  text
);&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ウィンドウキャプションを設定する。平たく言えば、ウィンドウのタイトルの事です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;text&lt;/strong&gt;                 ：　新しいキャプションの文字列を指定します。&lt;/p&gt;
&lt;hr /&gt;&lt;h2&gt;&lt;br /&gt;&lt;span style=&quot;background-color:rgb(255,204,0);&quot;&gt; ・描画ループ&lt;/span&gt;&lt;/h2&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:611px;height:80px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;    // 描画ループ&lt;br /&gt;
    while(device-&amp;gt;run() &amp;amp;&amp;amp; driver)&lt;br /&gt;
    {&lt;br /&gt;
        driver-&amp;gt;beginScene(true, true, video::SColor(255,0,0,255));&lt;br /&gt;&lt;br /&gt;
        driver-&amp;gt;endScene();&lt;br /&gt;
    }&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;　irrlichtの描画ループです。&lt;span style=&quot;color:rgb(255,0,0);&quot;&gt;device&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;run&lt;/span&gt;()はirrlichtのウィンドウが閉じられるまで&lt;span style=&quot;color:rgb(0,255,255);&quot;&gt;true&lt;/span&gt;を返します。&lt;br /&gt;&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;beginScene&lt;/span&gt;はバックバッファや深度バッファ、ステンシルバッファなどのクリアを行い、&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;endScene&lt;/span&gt;はバックバッファをフロントバッファに表示します。irrlichtの描画命令はこの&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;beginScene&lt;/span&gt;と&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;endScene&lt;/span&gt;の間に書きます。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;hr /&gt;&lt;h2&gt; &lt;/h2&gt;
&lt;h1&gt;&lt;span style=&quot;color:rgb(255,0,0);&quot;&gt;run()&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;bool IrrlichtDevice::run();&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;内部でウィンドウメッセージの処理などを実行しています。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;戻り値&lt;/strong&gt;&lt;/em&gt;　　　　：　デバイスが動作しているならばtrueが戻ります。&lt;/p&gt;
&lt;h1&gt;&lt;span style=&quot;color:rgb(255,0,0);&quot;&gt;beginScene()&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;bool IVideoDriver::beginScene(&lt;br /&gt;
        bool                     backBuffer  = true,&lt;br /&gt;
        bool                     zBuffer         = true,&lt;br /&gt;
        SColor                color             = SColor(255, 0, 0, 0),&lt;br /&gt;
        const SExposedVideoData &amp;amp;      videoData = SExposedVideoData(),&lt;br /&gt;
        rect&amp;lt; s32 &amp;gt; *      sourceRect = 0     &lt;br /&gt;
    );&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;アプリケーションはレンダリングを実行する前にこの関数を呼び出す必要があります。&lt;br /&gt;
この関数ではバックバッファやZバッファがクリアされます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;backBuffer　  
：　&lt;/strong&gt;trueの場合colorの色でバックバッファがクリアされます。falseの場合はバックバッファはクリアされず、colorは無視されます。&lt;br /&gt;&lt;strong&gt;zBuffer　　　  ：　&lt;/strong&gt;Zバッファをクリアするか指定します。&lt;br /&gt;&lt;strong&gt;color　　　　  ：　&lt;/strong&gt;バックバッファをクリアする色を指定します。&lt;br /&gt;&lt;strong&gt;videoData　　 ：　&lt;/strong&gt;別ウィンドウにレンダリング結果を表示したい場合に指定します。この機能は&lt;span style=&quot;background-color:rgb(255,153,204);&quot;&gt;全ての描画エンジンに完全に実装されていません。&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;sourceRect&lt;/strong&gt;　  ：　表示領域を指定します。この機能は&lt;span style=&quot;background-color:rgb(255,153,204);&quot;&gt;全ての描画エンジンに完全に実装されていません。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;戻り値&lt;/strong&gt;　　　　：　失敗した場合、falseが戻る。&lt;/p&gt;
&lt;h1&gt;&lt;span style=&quot;color:rgb(255,0,0);&quot;&gt;endScene()&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;bool IVideoDriver::endScene();&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;バックバッファをフロントバッファに表示します。アプリケーションはレンダリングを実行した後にこの関数を呼び出す必要があります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;戻り値&lt;/strong&gt;　　　　：　失敗したらfalse、成功すればtrue。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;hr /&gt;&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;background-color:rgb(255,204,0);&quot;&gt;・デバイスの破棄&lt;/span&gt;&lt;/h2&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:611px;height:24px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;    // デバイスの削除&lt;br /&gt;
    device-&amp;gt;drop();&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;　irrlichtデバイスを削除します。正確には参照カウントを１減らしています。使い終わったら、&lt;span style=&quot;background-color:rgb(255,153,204);&quot;&gt;”create”で始まる関数で取得したオブジェクトは、&lt;span style=&quot;background-color:rgb(255,255,255);&quot;&gt;&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;drop&lt;/span&gt;()&lt;/span&gt;で削除しましょう。&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;&lt;p&gt; &lt;/p&gt;
&lt;h1&gt;&lt;span style=&quot;color:rgb(255,0,0);&quot;&gt;drop()&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;bool IReferenceCounted::drop();&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;”create”で作成したオブジェクトを削除します。”load”や”get”等で作成や取得したオブジェクトはdrop()を呼ぶ必要はありません。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;戻り値&lt;/strong&gt;　　　　：　オブジェクトが削除された場合、trueが戻る。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;hr /&gt;&lt;p&gt; &lt;/p&gt;
&lt;p&gt;
　初期化して、ウィンドウを表示しただけですがどうでしょうか？難しかったですか？irrlichtは日本語の資料が少なく、英語が苦手な人はそれだけで投げてしまいそうですね。もしわからないところがあれば、リンクにあるirrlichtの日本語サイトか、コメント板にどうぞ。Windows7でしか動作確認していないので、あしからず。&lt;br /&gt;
Direct3Dを触ったことがある人は、気づいたと思いますが、irrlichtの関数の形式はそっくりですね。&lt;br /&gt;
beginSceneとBeginScene、dropとRelease、createDeviceとDirect3DCreate9など。&lt;/p&gt;
&lt;p&gt;では。&lt;/p&gt;
    </description>
    <dc:date>2011-06-06T12:26:23+09:00</dc:date>
    <utime>1307330783</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/nxpp/pages/16.html">
    <title>３. 初期化～ウィンドウ表示まで</title>
    <link>https://w.atwiki.jp/nxpp/pages/16.html</link>
    <description>
      
&lt;h1&gt;&lt;span style=&quot;background-color:rgb(255,255,153);&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;＊概要　　　　　　　　　　　　　　　　　　　　　　&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;　irrlichtを初期化して、空のウィンドウを表示します。&lt;br /&gt;
irrlichtは初期化と同時にウィンドウを生成してくれるので、CreateWindowなどのAPIを呼び出す必要はありません。&lt;/p&gt;
&lt;p&gt; &lt;img alt=&quot;&quot; src=&quot;http://www45.atwiki.jp/nxpp/?cmd=upload&amp;amp;act=open&amp;amp;page=%EF%BC%93.%20%E5%88%9D%E6%9C%9F%E5%8C%96%EF%BD%9E%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E8%A1%A8%E7%A4%BA%E3%81%BE%E3%81%A7&amp;amp;file=003_sample.jpg&quot; /&gt;&lt;br /&gt;
 &lt;/p&gt;
&lt;h2&gt;&lt;br /&gt;
 &lt;/h2&gt;
&lt;hr /&gt;&lt;h2&gt; &lt;/h2&gt;
&lt;h1&gt;&lt;span style=&quot;background-color:rgb(204,255,204);&quot;&gt;＊ソースコード　　　　　　　　　　　　　　　　　　&lt;/span&gt;&lt;/h1&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:608px;height:663px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;#include
&amp;lt;tchar.h&amp;gt;&lt;br /&gt;
#include &amp;lt;irrlicht.h&amp;gt;&lt;br /&gt;&lt;br /&gt;
#ifdef WIN32&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#endif&lt;br /&gt;&lt;br /&gt;
using namespace irr;&lt;br /&gt;
using namespace core;&lt;br /&gt;
using namespace video;&lt;br /&gt;&lt;br /&gt;
#ifdef WIN32&lt;br /&gt;
int WINAPI _tWinMain( HINSTANCE,HINSTANCE,LPTSTR,int )&lt;br /&gt;
#else&lt;br /&gt;
int main( int,TCHAR* )&lt;br /&gt;
#endif&lt;br /&gt;
{&lt;br /&gt;
    // irrlichtを初期化。&lt;br /&gt;
    IrrlichtDevice *device = createDevice(EDT_OPENGL,&lt;br /&gt;
          dimension2d&amp;lt;u32&amp;gt;(480,360));&lt;br /&gt;&lt;br /&gt;
    //ビデオドライバーを取得&lt;br /&gt;
    IVideoDriver* driver = device-&amp;gt;getVideoDriver();&lt;br /&gt;&lt;br /&gt;
    // タイトルバー文字列設定&lt;br /&gt;
    device-&amp;gt;setWindowCaption(_T(&quot;Hello World!&quot;));&lt;br /&gt;&lt;br /&gt;
    // 描画ループ&lt;br /&gt;
    while(device-&amp;gt;run() &amp;amp;&amp;amp; driver)&lt;br /&gt;
    {&lt;br /&gt;
        driver-&amp;gt;beginScene(true, true, video::SColor(255,0,0,255));&lt;br /&gt;&lt;br /&gt;
        driver-&amp;gt;endScene();&lt;br /&gt;
    }&lt;br /&gt;&lt;br /&gt;
    // デバイスの削除&lt;br /&gt;
    device-&amp;gt;drop();&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt; &lt;/h2&gt;
&lt;hr /&gt;&lt;h2&gt; &lt;/h2&gt;
&lt;h1&gt;&lt;span style=&quot;background-color:rgb(204,255,255);&quot;&gt; ＊ソースコード解説　　　　　　　　　　　　　　　　&lt;/span&gt;&lt;/h1&gt;
&lt;h2&gt;&lt;span style=&quot;background-color:rgb(255,204,0);&quot;&gt;&lt;strong&gt;&lt;em&gt;・ヘッダファイルのインクルード&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:607px;height:124px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;#include
&amp;lt;tchar.h&amp;gt;&lt;br /&gt;
#include &amp;lt;irrlicht.h&amp;gt;&lt;br /&gt;&lt;br /&gt;
#ifdef WIN32&lt;br /&gt;
#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
#endif&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt; 　まず、必要なヘッダファイルをインクルードします。UNICODEとマルチバイトに対応するため&lt;span style=&quot;color:rgb(51,51,153);&quot;&gt;&lt;span style=&quot;background-color:rgb(255,255,255);&quot;&gt;&lt;span style=&quot;font-size:small;&quot;&gt;&lt;strong&gt;tchar.h&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;を、&lt;br /&gt;
次にirrlichtを使用するために&lt;span style=&quot;color:rgb(51,51,153);&quot;&gt;&lt;strong&gt;irrlicht.h&lt;/strong&gt;&lt;/span&gt;を、最後に&lt;span style=&quot;background-color:rgb(255,153,204);&quot;&gt;Windows環境の場合のみ&lt;/span&gt;&lt;span style=&quot;color:rgb(51,51,153);&quot;&gt;&lt;span style=&quot;background-color:rgb(255,255,255);&quot;&gt;&lt;strong&gt;windows.h&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;をインクルードします。&lt;br /&gt;
#define WIN32とはWindows上でのみ定義されるプリプロセッサで、メイン関数の部分も、環境により&lt;br /&gt;
main関数かWinMain関数に定義されます。&lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;background-color:rgb(255,204,0);&quot;&gt;&lt;strong&gt;&lt;br /&gt;
・名前空間省略設定&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:608px;height:73px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;&lt;br /&gt;
using namespace irr;&lt;br /&gt;
using namespace core;&lt;br /&gt;
using namespace video;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt; 　irrlichtのクラスや定数、関数は全て名前空間に振り分けられています。&lt;br /&gt;
いちいちirr::video::～～と書くのは面倒なのでusing機能で省略します。&lt;br /&gt;
 &lt;/p&gt;
&lt;h3&gt;&lt;br /&gt;
 ・irrlichtの名前空間の一覧表&lt;/h3&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:608px;height:304px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;irr&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;全てのクラスや関数、定数が含まれている空間。&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;irr::core&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;ベクトル、平面、配列、リストが含まれてる空間。&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;irr::gui&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;グラフィカルユーザーインターフェイスを簡単に作成するための便利なクラスが含まれている空間。&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;irr::io&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;入力/出力用のインターフェイスが含まれている空間。&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;irr::scene&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;シーン管理、メッシュ読み込みやビルボードなどの高レベル描画インターフェイスが含まれている空間。&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;irr::scene::quake3&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;quake3？関係が含まれている空間。&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;irr::video&lt;/td&gt;
&lt;td colspan=&quot;4&quot;&gt;ビデオドライバにアクセスする機能や２Ｄ、３Ｄのレンダリングなどの低レベル描画インターフェイスが含まれている空間。&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt; &lt;br /&gt;&lt;span style=&quot;background-color:rgb(255,204,0);&quot;&gt;&lt;strong&gt;・irrlichtの初期化&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:612px;height:84px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;// irrlichtを初期化。&lt;br /&gt;
    IrrlichtDevice *device = createDevice(EDT_OPENGL,&lt;br /&gt;
          dimension2d&amp;lt;u32&amp;gt;(480,360));&lt;br /&gt;
  &lt;br /&gt;
    //ビデオドライバーを取得&lt;br /&gt;
    IVideoDriver* driver = device-&amp;gt;getVideoDriver();&lt;br /&gt;&lt;br /&gt;
    // タイトルバー文字列設定&lt;br /&gt;
    device-&amp;gt;setWindowCaption(_T(&quot;Hello World!&quot;));&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;　irrlichtを使用するにはまず、irrlichtデバイスを作成しなければならないので、&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;createDevice&lt;/span&gt;でirrlichtのデバイスを作成します。&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;createDevice&lt;/span&gt;の引数は左から、描画エンジン、画面の大きさとなっています。描画エンジンには&lt;br /&gt;
Direct3D8,9、OpenGL、ソフトウェアを選べますが、今回はOpenGLにします。&lt;span style=&quot;color:rgb(0,255,255);&quot;&gt;dimension2d&lt;/span&gt;は二次元座標を表すテンプレートクラスです。デバイスを作成すれば、irrlichtのエンジンにアクセスできるようになります。&lt;br /&gt;&lt;br /&gt;
次に作成したデバイスの関数&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;getVideoDriver&lt;/span&gt;を使用して、irrlichtのビデオドライバーを取得します。&lt;br /&gt;
ビデオドライバーは基本的な描画やプリミティブ（三角形や頂点）単位の描画を行う際に使用します。&lt;br /&gt;&lt;br /&gt;
最後に&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;setWindowCaption&lt;/span&gt;関数でウィンドウのタイトル文字列を&lt;span style=&quot;color:rgb(128,0,0);&quot;&gt;Hello World!&lt;/span&gt;に設定しています。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;background-color:rgb(255,204,0);&quot;&gt; ・描画ループ&lt;/span&gt;&lt;/h2&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:611px;height:80px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;    // 描画ループ&lt;br /&gt;
    while(device-&amp;gt;run() &amp;amp;&amp;amp; driver)&lt;br /&gt;
    {&lt;br /&gt;
        driver-&amp;gt;beginScene(true, true, video::SColor(255,0,0,255));&lt;br /&gt;&lt;br /&gt;
        driver-&amp;gt;endScene();&lt;br /&gt;
    }&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;　irrlichtの描画ループです。&lt;span style=&quot;color:rgb(255,0,0);&quot;&gt;device&lt;/span&gt;-&amp;gt;&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;run&lt;/span&gt;()はirrlichtのウィンドウが閉じられるまで&lt;span style=&quot;color:rgb(0,255,255);&quot;&gt;true&lt;/span&gt;を返します。&lt;br /&gt;&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;beginScene&lt;/span&gt;はバックバッファや深度バッファ、ステンシルバッファなどのクリアを行い、&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;endScene&lt;/span&gt;はバックバッファをフロントバッファに表示します。irrlichtの描画命令はこの&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;beginScene&lt;/span&gt;と&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;endScene&lt;/span&gt;の間に書きます。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;background-color:rgb(255,204,0);&quot;&gt;・デバイスの破棄&lt;/span&gt;&lt;/h2&gt;
&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; border=&quot;1&quot; style=&quot;width:611px;height:24px;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor=&quot;#F5F5F5&quot;&gt;&lt;span style=&quot;color:rgb(0,0,0);&quot;&gt;    // デバイスの削除&lt;br /&gt;
    device-&amp;gt;drop();&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;　irrlichtデバイスを削除します。正確には参照カウントを１減らしています。使い終わったら、&lt;span style=&quot;background-color:rgb(255,153,204);&quot;&gt;”create”で始まる関数で取得したオブジェクトは、&lt;span style=&quot;background-color:rgb(255,255,255);&quot;&gt;&lt;span style=&quot;color:rgb(0,255,0);&quot;&gt;drop&lt;/span&gt;()&lt;/span&gt;で削除しましょう。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;hr /&gt;&lt;p&gt; &lt;/p&gt;
&lt;p&gt;
　初期化して、ウィンドウを表示しただけですがどうでしょうか？難しかったですか？irrlichtは日本語の資料が少なく、英語が苦手な人はそれだけで投げてしまいそうですね。もしわからないところがあれば、リンクにあるirrlichtの日本語サイトか、コメント板にどうぞ。Windows7でしか動作確認していないので、あしからず。&lt;br /&gt;
Direct3Dを触ったことがある人は、気づいたと思いますが、irrlichtの関数の形式はそっくりですね。&lt;br /&gt;
beginSceneとBeginScene、dropとRelease、createDeviceとDirect3DCreate9など。&lt;/p&gt;
&lt;p&gt;では。&lt;/p&gt;
    </description>
    <dc:date>2011-06-06T02:34:42+09:00</dc:date>
    <utime>1307295282</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/nxpp/pages/15.html">
    <title>コメント/コメント板</title>
    <link>https://w.atwiki.jp/nxpp/pages/15.html</link>
    <description>
      -test - 管理人 2011-06-03 13:15:40      </description>
    <dc:date>2011-06-03T13:15:40+09:00</dc:date>
    <utime>1307074540</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/nxpp/pages/14.html">
    <title>コメント板</title>
    <link>https://w.atwiki.jp/nxpp/pages/14.html</link>
    <description>
      #pcomment(reply)    </description>
    <dc:date>2011-06-03T13:15:25+09:00</dc:date>
    <utime>1307074525</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/nxpp/pages/13.html">
    <title>リンク</title>
    <link>https://w.atwiki.jp/nxpp/pages/13.html</link>
    <description>
      **irrlicht関係のサイトです。
[[Irrlicht A GoGo&gt;&gt;http://www.zgock-lab.net/irrlicht/index.htm]]
　　　　数少ない日本語のirrlichtの講座です。
　　　とても分かり易く、一度目を通すことをオススメしますが、
　　　現行バージョンとは互換性のないソースが一部ありますので注意してください。
　　　また、nx++についての記述もあります。
[[Irrlicht Lesson&gt;&gt;http://lesson.ifdef.jp/]]
　　　　こちらも日本語のirrlichtの講座サイト。
　　　まだ一部しか目を通していませんが、様々な情報があります。
**参考にさせてもらったサイト様。
[[DirectX9 プログラミングメモ&gt;&gt;http://www36.atwiki.jp/directx/]]
　　　　wikiの構成を参考にさせてもらいました。
　　　また、同じ作者様のOPENGL、DirectX10はとても参考になります。    </description>
    <dc:date>2011-06-03T13:13:01+09:00</dc:date>
    <utime>1307074381</utime>
  </item>
  </rdf:RDF>
