差分

ナビゲーションに移動 検索に移動

カプセル化(プログラミング)

1,037 バイト追加, 2020年6月18日 (木) 07:51
編集の要約なし
[[ソースコード]]が存在し改修が可能であればカプセル化しても問題ない。[[ソースコード]]があっても[[ライセンス]]的に改修できない場合や、そもそも[[バイナリ]]の[[ライブラリ]]しかない場合などは絶望的である。
 
=== 実例 ===
[[XNA]]([[MonoGame]])では標準で3Dモデルを手軽に扱えるModelクラスが用意されている。
1行で読み込み、1行で描画できる素晴らしいものだ。
 
ただしこのModelクラスを使うと頂点データは遮蔽されておりアクセスできない。
[[物理演算エンジン]]に食わせるのにどうしても頂点データがどうしても必要なのにだ。
 
そこで[[GPU]]に送信後にGetData関数で頂点データを返してもらうというトリッキーなコードで回避する。
しかし、この方法では動かない環境がある。
[[iOS]]や[[Android]]の[[OpenGL ES]]なんかがそうだ。
GPUとの通信は一方通行。
 
そこで事前に3Dモデルから頂点データを抜き出し別[[ファイル]]に保存しておく方法で回避する。
ファイルが2個になりました。
謎の不具合が発生しています。
片方のファイルの更新を忘れました。
 
カプセル化は恐ろしいね!
== 関連項目 ==
匿名利用者

案内メニュー