
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                                           2008/05/01
  d3module

  S.Programs 2001-2008
                                         http://sprocket.babyblue.jp/
━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━
        名称│d3module
  バージョン│1.67
    動作環境│Windows 98 / 2000 以降 (IA32)
──────┼────────────────────────────
    必要環境｜HSP 3.0-3.1 / HSPLet 3.0
            ｜(HSP 2.55-2.61 用には Version 1.10 を同梱)
━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■ 概要
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣
d3module は、HSP の標準命令のみで簡易的な 3D の描画を可能にするモジュ
ールです。

d3module の開発目的は、「HSP 標準の描画命令を三次元に拡張する」という
ことで、d3m.hsp をインクルードすることによって、HSP 標準の pset や
line, circle といった命令に近い書式の 3D 描画命令が使用できるようにな
ります。

DirectX や 3D アクセラレータに依存しないため、多くの環境で同じ実行結果
を得ることが出来ます。

d3module は光源の概念も z ソートも無い、非常に粗末な 3D 描画システムで
すが、たまにはちょっと懐かしい感じのワイヤーベースの 3D 空間も面白いの
ではないでしょうか。


d3module が向く分野 :
・三次元の数学グラフ描画
・三次元の物理シミュレーション等の可視化

d3module が向かない分野 :
・3D ゲーム一般
・高速な処理が必要な分野



■ 使用方法
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣
d3m.hsp をインクルードすると、d3module の命令が使用できるようになりま
す。

各命令の詳細は、hs ヘルプ d3mhelp.hs に記載されています。このファイル
を HSP インストールディレクトリ下の hsphelp ディレクトリに入れることで、
ヘルプマネージャからヘルプを参照できるようになります。

また、step_up_sample ディレクトリにステップアップ方式のサンプルスクリ
プトを用意しています。簡単なサンプルから徐々にレベルアップしていく形態
で、新出命令については使用法を詳しく説明していますので、短時間で基本的
な使い方をマスターできるのではないかと思います。



■ デモについて
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣
d3module techdemo (d3m_techdemo.exe) は、HSP の標準命令のみで作成され
た d3module のデモンストレーションプログラムです。

・実行環境

快適な実行環境は、1GHz くらいから上の CPU を搭載した PC になると思いま
す。より低速な PC でも、解像度設定を低くすればそこそこの実行速度になる
と思います。

MCI を用いて WMA ファイルの再生を行うため、Windows Media Player がイン
ストールされている必要があります。

Windows Me + Windows Media Player 7.0 の環境では、音楽が途中で鳴らなく
なってしまう場合があるようです。症状が発生した場合は、Windows Media 
Player バージョン 9.0 以上をインストールしてみてください。

・曲について

この techdemo では、onoken 様が公開されている楽曲、Vijore を使用させて
いただいています。

onoken 様のサイト : http://www.axsword.com/

d3module techdemo では、普段の自分の作業スタイルをはるかに越える長期間
にわたってコードを書き続けたのですが、その間気力を維持できたのは、この
すばらしい音楽のおかげでした。



■ HSP 2.x 版について
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣
HSP 2.55 / 2.6 / 2.61 では、同梱の d3module 1.10a を使用してください。

d3module 1.10a は、v110_for_hsp2 ディレクトリに置いています。
最新版の d3module とは仕様が異なっていますので、d3module 1.10 を使用の
際は d3module 1.10 のマニュアルを参照してください。



■ 著作権フリー
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣
d3module (モジュール本体、サンプル、デモスクリプト) は著作権フリーです。
d3module の改変や、d3module を組み込んだプログラムの公開などに対して、
制限は一切ありません。

もし改造したバージョンを公開される場合は、オリジナルとの区別が付くよう
にしてください。

techdemo の音楽の著作権は onoken 様にありますので、くれぐれも注意して
ください。



■ リリースノート
￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣
1.67
・小さなパーティクルがよりシャープに描画されるよう変更
・d3m.hsp の多重インクルード対策を追加

1.66
・パーティクル作成ルーチンに、多角形パーティクルの作成機能を追加
  (d3mkparticle のヘルプ参照)
・d3circle で非常に小さな円も描画されるよう修正
・(1.66 クレジット修正版) ドキュメントと techdemo で、音楽製作者の URL 更新
・(1.66 ヘルプミス修正版) d3vrotate ヘルプの誤記修正 他

1.63
・パーティクル描画システムで、HSPLet @Mac との相性改善
・d3circle 命令で奇数ドット直径の描画ができるよう変更

1.61
・d3texture 命令の拡張 (任意の数での面分割機能の追加)
  (面分割のコードは Yuki さんからの提供です。)

1.60
・ローカル座標系システムの実装
 - d3setlocal 命令の追加
・d3vrotate 命令 (任意軸回りの空間回転演算) の追加
・内部命令 d3vpos の公開 (ヘルプ追加)
・内部変数 d3wincx, d3wincy (2D スクリーンの中心座標) の公開

1.51
・面描画命令のバリエーションとして d3ribbonto 命令を追加
・d3box 命令で一部の頂点が 1 ドット欠ける問題を解消

1.50
・HSP 3.0 に対応 (HSP 2.x は非サポート)
・座標情報の倍精度実数化 (数学表現の容易化、座標値制限の緩和)
・内部演算の高速化
・d3roate 命令などで入力する角度の単位をラジアンに変更
・面描画命令などを追加
   d3square        四角い平面を塗りつぶし描画
   d3texture       四角い平面に画像を貼り付け
   d3timer()       winmm.dll の timeGetTime() そのもの
   d3getfps()      fps 取得
・HSP 3.0 の新機能によって不要化した命令などを廃止
   d3sqrt (廃止)   平方根 取得
   d3sin (廃止)    sin 取得
   d3cos (廃止)    cos 取得
   d3sincos (廃止) sin, cos 取得
   d3atan (廃止)   atan 取得
   d3fp (廃止)     d3sin, d3cos, d3atan, d3roate の精度を設定
   d3gethorizon (廃) 地平線 y 座標取得
   d3init (廃止)   d3module 初期化
・パーティクル描画命令の機能整理
   d3particle      描画モードを gmode に従うよう変更
   d3particlem     描画モードを gmode に従うよう変更
   d3particler     (追加命令)
   d3particlemr    (追加命令)
・パーティクル描画サイズの上限を無制限化
・パーティクル ID の上限を撤廃

1.10
・パーティクル描画命令を追加
   d3mkparticle    パーティクルを作成
   d3ldparticle    パーティクル画像ロード
   d3particle      パーティクルを描画
   d3particlem     直前の描画位置にパーティクルを描画
・d3gethorizon 命令を追加
・d3circle 命令で円のサイズがおかしくなるバグを修正
・d3arrow 命令において、矢印が奥行きを考慮したものになるよう修正
・いくつかの命令を整理
   d3horizon (廃止)
   d3setcenter (廃止)
   d3setzoom (廃止)
   d3cbrt (廃止)
・変数 d3depth を廃止 (システム変数 stat を使用)
・定数 D3MVER を廃止
・d3init 命令を明示的に実行しなくてもいいように変更

1.05
・d3atan 命令の追加

1.04 c01
・パフォーマンス向上と省サイズ化

1.04
・d3line, d3box でクリッピングをするようにした
・d3horizon 命令の追加

1.01
・d3circle の高速化
・付属サンプルの修正

1.00
・sin/cos のビット精度を 10bit 以下で選択できるようにした
・いくつかの描画命令を追加

beta 4a
・付属ソースを HSP 2.6 でコンパイルできるように修正

beta
・初公開版


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━