game

ゲームフレームワーク的なものを作る。(10)〜OpenGLでテクスチャを使う〜

まずはOpenGLでテクスチャを使用する際の基本から。 R8G8B8A8の32bitテクスチャを作る GLuint texture; Size size( w, h ); DWORD pixel[] = { ... }; //適当なピクセルデータを設定しておく glGenTextures()で指定枚数のテクスチャを作成。とりあえず1でよ…

ゲームフレームワーク的なものを作る。まとめ。

とりあえず、ここまでのまとめ。 今後も週に1,2回程度のペースで追加していきます。 ゲームフレームワーク的なものを作る。(20)〜2Dキーフレームアニメーション〜 ゲームフレームワーク的なものを作る。(19)〜シーングラフ〜 ゲームフレームワーク的なもの…

ゲームフレームワーク的なものを作る。(9)〜OpenGLの初期化〜

今回はOpenGLを使った描画機能を追加していきます。久しぶりのOpenGLですね。 OpenGLの初期化 まず、OpenGLを利用するためのヘッダとライブラリをプロジェクトに追加します。VCをインストールすれば、標準で必要なファイルが含まれるので、特に新しくライブ…

ゲームフレームワーク的なものを作る。(8)〜描画エンジンの抽象化〜

描画エンジンの抽象化 windowsでゲームを作る場合、「Direct3D」か「OpenGL」を選択することになりますが、どちらも使ったことがある人であれば、誰もが一度はインターフェイスを用意して両方扱えるようにしたいと思うはず。 で、今回は上記のような単純なイ…

ゲームフレームワーク的なものを作る。(7)〜Textureインターフェイスとスプライト描画メソッド〜

前回「ゲームフレームワーク的なものを作る。(6)〜スプライト描画〜 - while( c++ );」のサンプルでは、Direct3DのIDirect3DTexture9インターフェイスとID3DXSpriteインターフェイスを直接使って描画を行っていましたが、フレームワーク利用者に対してDirect…

ゲームフレームワーク的なものを作る。(6)〜スプライト描画〜

今回はDirect3D側で用意されているID3DXSpriteインターフェイスを使って、画像ファイルからテクスチャを生成し、画像の描画を行います。 スプライト描画オブジェクトの生成 Graphicsクラスにスプライト描画オブジェクト生成メソッドを追加します。前述のデバ…

ゲームフレームワーク的なものを作る。(5)〜Point、Size、Rect、Color〜

今回はグラフィックス系プログラムでよく使われる点、サイズ、矩形、色クラスを作ります。 とりあえず、基本的な機能のみ。 Pointクラス スクリーン上の点を表す。 class Point { public: Point( int x = 0, int y = 0 ); public: int x, y; }; Point::Point…

ゲームフレームワーク的なものを作る。(4)〜文字列描画〜

今回はID3DXFontを使った文字列描画を行います。 前回「ゲームフレームワーク的なものを作る。(3)〜Graphicsクラス〜 - while( c++ );」のGraphicsクラスに、 ID3DXFontの生成関数 文字列描画関数 std::shared_ptr を追加します。 /** * Graphicsクラス */ c…

ゲームフレームワーク的なものを作る。(2)〜Gameクラスに描画機能を追加〜

前回「ゲームフレームワーク的なものを作る。(1)〜Gameクラス〜 - while( c++ );」のGameクラスに、Direct3Dを使った描画機能を追加します。使用するDirectX SDKのバージョンはFebruary 2010です。初期化と解放、シーンのレンダリングについて必要最小限の機…

ゲームフレームワーク的なものを作る。(3)〜Graphicsクラス〜

前回「ゲームフレームワーク的なものを作る。(2)〜Gameクラスに描画機能を追加〜 - while( c++ );」、Gameクラスへ描画機能を追加しました。 このまま画像などの描画機能も追加していくとGameクラスが肥大化するので、以下のように描画機能だけGraphicsクラ…

ゲームフレームワーク的なものを作る。(1)〜Gameクラス〜

前回「windowsでゲームループを作る。(2)〜Windowクラス〜 - while( c++ );」のゲームループをさらに発展させて、ゲームフレームワーク的なものを適当に作っていきます。 Gameクラスを作る ゲームを起動するためには、事前に様々なオブジェクトの初期化が必…

windowsでゲームループを作る。(2)〜Windowクラス〜

VC++2010を使い始めたので、出来るだけC++0xの機能を使いつつ、前回(http://d.hatena.ne.jp/setuna-kanata/20100512/1273685558)のプログラムを書き換えていきます。 Windowクラス まずはHWNDのラッパークラスであるWindowクラスを作ります。今回必要にな…

windowsでゲームループを作る。

C/C++とwindowsでゲームを作る時、ウィンドウクラスを登録して、ウィンドウを作って、メッセージループを回して、ウィンドウプロシージャを用意して…と、非常に面倒ですよね。正直main関数内でそのようなつまらない記述を見たくないわけです。もっと素直に …