2004-12-15
abdev 2004-12-15 はコメントを受け付けていません今朝方までバイト仲間と飲んでました。今日は12月の中の貴重な休日、といっても特にすることもなく、最近サボっていた洗車や開発を進めたいと思います。
2004-12-04
abdev 2004-12-04 はコメントを受け付けていません今週は色々なことがありました。海で焚き火やったり(コラッ!)、鍋やったり、湘南いったりと…。遅れてしまいましたが、無事、β4をリリースすることができました。ABDXは波に乗れるか!?勝負どころです。
2004-11-23
abdev 2004-11-23 はコメントを受け付けていません最近、オフの時間に色々なことがありまして、開発があまり進んでおりません。ということで、今週はAB開発集中ウィークということに設定して、週末には必ずβ4がリリースできるようにしようと思います。
AB開発
abdev 25 Comments »DirectXの扱いにようやく慣れてきました。と同時に、ABDXの3D描画部分がほぼ完成しました。ユーザーはCOMを意識することなく、すぐにでも3D対象物の生成、移動、消滅などを行うことができます。これをまとめてβ4をリリースしましょうかね…。あ、そうだ!ABDXの解説ファイルを書かねばいけないんだった(-。-
AB開発
abdev 21 Comments »ActiveBasic独自のDirectXライブラリの開発、本格的に始めました。ライブラリ名が決まっていないので、コードネームをABDXとでもしておきましょう(なんかいいタイトルないかな)。
さて、その内容なのですが、別途ABDXのライブラリを読み込んで…というものではなく、統合開発環境埋め込み型(RADツールのような感じ)にしようと考えています。RADツールのような感じといっても、視覚的な操作は一切なく、コーディングメインです…。開発は下のような手順になります。
- メニューの「新規作成」をクリックし、プロジェクトを選択する
- プロジェクト名を入力し、アプリタイプを「DirectX対応アプリ」にする
- コーディングを始める
3番のコーディングを始める時点で、ABDXを使えるようになっています。要するに、「DirectX対応アプリ」のプロジェクトを生成した時点で自動的にABDX自身のソースコードがプロジェクトの一部として生成されるわけです。これは、ウィンドウアプリのプロジェクトを作成した際に、ノーマルウィンドウ(厳密にはCallback.wbp、MakeWindow.wbp、MainWnd.sbp)が自動生成されてすぐにでもウィンドウプログラミングを行えるようになるのと同じようなものだと思ってもらってよいです。
ABDXの内容
私を含め、初心者プログラマーはCOMプログラミングが苦手です。故に、「DirectXはCOMインターフェイスをベースに…」と話が展開していく時点でイヤになってしまうことが多いです。そこで、ABDXは、COMインターフェイスを意識しないライブラリでなければなりません。目指すところはCOMインターフェイスを隠蔽し、尚かつDirectXをフルコントロールできるライブラリというところでしょうか。しかも、ABDXが提供する機能(関数)はユーザーが理解しやすいものでなければならない点も重要です。
実際にDirectGraphicsを扱ってみると、まずはIDirect3D9インターフェイスの生成を行い、それを元にIDirect3DDevice9インターフェイスを生成します。後者のIDirect3DDevice9インターフェイスを用いて、やっとDirectGraphicsが提供する描画機能を扱えることになりますが、それなら最初からIDirect3DDevice9インターフェイスを生成してくれればいいじゃんという疑問がでてきます。色々な要因があってのことでしょう。とにかく、IDirect3D9の次にIDirect3DDevice9だって決まっているのです。このように一度理解してしまえばなんのことはないのですが、ABを初めてダウンロードして腕試しにABDXで「Hello World!」でもやってみるかという状況ではかなり酷な内容でもあります。
この、COMとしてのDirectXとABユーザーとの間のワンクッションがABDXになります。ABDXが生成された時点で、初期化及び終了処理は自動的に定義されるので、すぐにでも描画部分からコーディングすることができます。しかも、そのコーディングは、命令単位で行われるため、N88BASICから移行してきたユーザー、初心者ユーザーにも理解しやすい内容であるといえます。因みに、DirectXで「Hello World!」をやりたいときは、ABDXを利用すれば非常に簡単です。
- プロジェクトを新規作成(DirectX対応アプリにチェック)
- “プロジェクト名.abp”のコーディング画面を開く
- RenderProc関数(描画を担当するコールバック関数)の1行目にdx_DrawText(x,y,”Hello World!”,D3DCOLOR_ARGB(255,255,255))と打つ
では、晩酌中ではありますが、引き続きがんばります。
Recent Comments