d3module.txt

doclib\d3module.txt » Plain Format

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                                           2007/07/30
  d3module (HSP3.1 同梱版ドキュメント)

  S.Programs 2001-2006
                                         http://sprocket.babyblue.jp/
━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━
        名称│d3module
  バージョン│1.66
    動作環境│Windows 95 / NT4.0 以降 (IA32)
──────┼────────────────────────────
    必要環境|HSP 3.0 以降 / HSPLet 3.0 以降
━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━

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

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

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

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


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

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



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

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



■ HSPLet と d3module
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
d3module と HSPLetを使用すれば、HSP の知識だけで、ブラウザ上で動作する
3Dアプレットを作成できます。 (HSPLetは、HSP3.1に同梱されています。)

S.Programs NETで、実際にブラウザ上で動作するサンプルやデモの様子を
見ることができます。
http://sprocket.babyblue.jp/



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

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



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

S.Programs NETから、実際のデモを入手することができます。
http://sprocket.babyblue.jp/



■ リリースノート
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
1.66 (ヘルプミス修正版)
・d3vrotate ヘルプの誤記修正 他

1.66 (クレジット修正版)
・ドキュメントと techdemo で、音楽製作者の URL 更新

1.66
・パーティクル作成ルーチンに、多角形パーティクルの作成機能を追加
  (d3mkparticle のヘルプ参照)
・d3circle で非常に小さな円も描画されるよう修正

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
・初公開版


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