カテゴリー別アーカイブ: ソフト

ソフトウェアに関する事柄

Stelight 公開

まだ色々開発中ですが、開発版として Stelight ライブラリを公開しました。
こちらから DL できます。)

開発版とはいえ、なぜ公開したのかというと、独自機能として独立している各種ライブラリが実用可能なレベルであるためです。
本体の方は実用レベルまで行ってない状態ですが。

一応、この開発版は所謂公開デバッグのようなものですので、何かしら不備や問題が発生した場合は気兼ねなくこちらの掲示板の方に報告してくれるとありがたいです。

実装状況(後日談)

前回の投稿の続き。

まず、GPU が落ちるのは Media Foundation とは一切関係なく、こちらの単純なミスでした。

IASetPrimitiveTopology が未設定のまま描画していたのが原因でした。ほんとに単純なミスですね。

それと、単純な Media Foundation の再生自体はできている(ただし、他の表示は一切できない)ので、
今のところはとりあえずそれで我慢し、本来実装したかった機能(テクスチャに動画を書き込む)は DirectShow で行いました。

というわけで今度時間があったら再挑戦します。
(Media Foundation + DX11 のサンプルが出たらやるかも)

次は Coro と MDLL のメンテナンスと、アーカイブ機能の見直しかな。

実装状況

只今追加要素としての 動画再生機能に手こずってます。
単に再生することは容易なのですが、
DX11 のテクスチャとして扱うということと、Vista 以降対応の Media Foundation で行うという部分で、
先週から苦戦してます。

現在、GPUが落ちる(ハング)という問題に直面中。
EVRをカスタマイズする唯一のサンプルからの改良なので、一から見直さないといけない。

因みに Vista 以降の対応とするため、 Windows 7 で追加された API は使えません。

めんどくさいけど、出来たらそれはそれで凄いことなんだなと思いつつ粘り続けます。

ライブラリの再構築中…

現在再構築を行っている最中で、大きな変更点が出てきた(といっても全て変更しているのですが)ので、
現状での変更点をあげておきます。

  • 個別に分けていたいくつかのライブラリを本体へ統合(分けていたせいで逆に扱いづらかったため)
  • サウンド処理を DirectSound から XAudio2 に変更。
  • ファイルパックで指定する圧縮アルゴリズムを LZMA SDK で扱えるもののみに。
  • いくつかのライブラリファイルを統合(Xiph 系や LZMA など)
  • リンク時にどのコード生成オプションでも適切なライブラリを自動で指定されるようにした。(つまりライブラリファイルの指定をする必要はなくなる)
  • ゲーム エクスプローラ に登録するツールを追加(予定)
  • 起動時設定ダイアログにマルチサンプルアンチエイリアス(MSAA)の選択の追加と画面モードにリフレッシュレートの表示を復活。
  • いくつかの提供するクラスを COM 風に管理するように変更。

こんな具合ですかね。

まだ再構築の進歩は 20% ぐらいで、画面にポリゴンの表示と音の再生が成功した程度です。
入力はこれから、他の子ライブラリの見直しはそのあとになりますね。

で、一通り終わったら 弾幕避遊戯 を新ライブラリに移植してみようと思う。
一応サンプル(?)だしね。

ライブラリの再構築

現在開発している Stelight / Libistact set ですが、色々と思うところがあり、一から作り直すことにしました。

Windows 7 も登場し、個人的に DirectX 11 に興味を持った(10 からデバイスロストしなくなった)のもありますが、
現在のライブラリ構成だと、若干統一されていない部分があり、使いにくくなっていると思ったためです。

なお、名称は変えませんが、 DirectX 11 専用ゲームライブラリとして構築していてみようかなと思います。
それにより、対応OS は Vista 以上になってしまいますが、クォリティを考えると DirectX 9 より格段に良くなるはずです。

というわけで、自作ゲームのためのゲームライブラリの目的で作成したのに、また本番が遅くなりますね・・・。

Vim

Vim という、特殊な操作で編集するテキストエディタがあります。

最近仕事の方で使い始め、ようやく慣れ始めたわけですが、そのために Vim の操作の癖が付いてしまいました。

とはいえ、通常のテキストエディタには無い、ほぼ無限の拡張性を持ち、かつ編集速度が向上する(キーボードだけで全てを操作できる)ため、テキストデータの作業には欠かせないものとなりました。

構文強調も知っている言語なら全て対応しているほどですし、
自動インデントも対応しています。
さらに自分で Vim のスクリプトを書くことで自由に拡張できるので、
まさに自分だけのテキストエディタを構築することが出来ます(とはいってもVimの基本機能は変えられませんが)。

それほどすばらしいとも言える Vim ですが、最初に書いたとおり、特殊な操作で行うため、私は過去何度か挑戦しては挫折していました。

その一つともいえるのが、基本操作。
普通は矢印キーで移動しますが、 Vim は元々 Vi というソフトから派生したものであり、上下左右を k, j, h, l で移動するようになっています。(矢印キーでも移動できます)
また、編集モードというものがあり、それぞれを理解しないと使いこなすのが難しいです。
コピー・ペーストなどの操作も別の処理として割り当てられているため、慣れるのも一苦労です。
(デフォルトで y系操作でコピー、 p系操作でペースト)
一応、キー操作も変更できるので、ある程度 Windows のキー操作にあわせることは出来ます。

Vim には30分ほどで行えるチュートリアルがあるので、まずはそれを実践するというのが使い始める第一の方法ですね。
最初はじっくり覚える必要があるため、効率は悪いですが、慣れてくると飛躍的に効率がアップします。

興味を持った方のために、日本語対応版 Vim のインストール方法でも書いておきます。

Vim は日本語対応を行っている香り屋さんのサイトからダウンロードします。
ついでに日本語翻訳されたヘルプファイルもあるので、そちらもダウンロード。

ぞれぞれインストール・解凍します。
日本語ヘルプファイルは解凍後、 “runtime” フォルダの名前で解凍されているので、
そのフォルダごとインストールしたVim の runtime フォルダに上書きします。

そして、 gVim を起動し、そのまま以下の一行を入力して、 Enter キーを押します。

:helptags $VIMRUNTIME\doc

(これはヘルプファイルの更新を行うコマンドです)
これでインストールは完了です。
ヘルプを見るには、F1 キーを押すと見れます。
また、チュートリアルは次の一行を入力して Enter キーを押します。

:tutor

なお、万人向けのものではないので、合わない人もいると思います。
まあこういう便利なものになりうるソフトがあるよ、ということで。

もっと詳しいことはググって調べると良いですよ。

近況報告

今月から仕事が本腰に入る始めるので、ライブラリの作業が削られることになり、進行速度が遅くなっていきます。

現在の実装状況としては、

  • FBX -> 独自形式 への変換と、変換した独自形式の読み込み・表示。(アニメーション部分はまだ)
  • ムービー再生処理を興味本位で組み込んだ。(まだ書いただけで未チェック)
  • GUI 機能。(プロト状態)

次のバージョンアップ公開は上記の各機能の完全実装とバグなどの修正で、1.50 を予定しています。
完了次第上げるつもりですが、いつ頃になるかはわかりません。