2013年07月15日
川俣晶の縁側ソフトウェア技術雑記total 6117 count

3Dプログラミング遊びの顛末

Written By: 川俣 晶連絡先

「まあ、それほど多くないポリゴンを組みたてて眺められれば良い、と思って気軽にテストプログラムを組み始めたがこれが難物」

「どんな内容?」

「数個のポリゴンがグルグル回れば良いと思った。で、実はVisual Studio 2012でC++のDirect3Dアプリを作成すると何もせずとも最初から実現されている」

「それでいいじゃん」

「ところが、C#で書きたいです、と言った瞬間に泥沼」

「は?」

「Visual Studio 2012にDirextXのC#サポートは一切ない」

「えー。C++はあるのに?」

「そうだ」

「昔はC#で使うライブラリがあったじゃん」

「そうだね。でも今は無い」

「じゃあどうするんだよ」

「SlimDXというライブラリが、目的の機能を持っていると分かった」

「C#でDirect3D使えるわけだね」

「そうだ。しかし、これも上手く行かないことだらけで、途方に暮れてしまった」

「なんで上手く行かないの?」

「つまりね。単なるラッパで、Direct3Dをかなり分かっていないと扱いきれないのだ。かといって、世の中にあるサンプルソースの大多数はC++用でSlimDX用ではない。SlimDX用に手直ししたくても対応関係が分かりにくい。そもそもOSSのお約束通り、サンプルソースもドキュメントも大幅に足りない」

「それで降参したんだね?」

「ははは。まさか」

「まさか……」

「結局、Visual Studio 2012は妥協して、Visual Studio 2010でもいいや、と思った瞬間にXNA4.0が使えるようになり、その上以下の状態までアッという間に行けた」

  • プログラム的なポリゴンの制御
  • カメラの位置と向きの制御
  • ライトの制御

「えー」

「XNA 4.0で行きますと言った瞬間に、ネットにはC#で書いた説明やサンプルソースがあって何も問題は無くなった。いくつかのサンプルソースを利用して、後はカスタマイズして以下のように、ライトが当たって回転する四角を見ることができたよ」

回転するキューブ

「どこをカスタマイズしたの?」

「カメラの位置とか、数値はこっちで調整した。サンプルソースにカメラの位置データが含まれていなかったので、そこは自分で数値を補って入れてみたよ」

「カメラ位置の設定数値なんて分かるの?」

「分かるよ。アプリとしての3Dソフトはそれなりに使っているから」

「じゃあ、これで君は書きたいものを書き始めることができるわけだね?」

「ははは。まさか。かなり無駄な時間を使ったので仕事に戻るよ」

「ぎゃふん」

Facebook

キーワード【 川俣晶の縁側ソフトウェア技術雑記
【技術雑記】の次のコンテンツ
2013年
07月
16日
Windows Store Appでバックボタンの色を強制的に上書きする
3days 0 count
total 4951 count
【技術雑記】の前のコンテンツ
2013年
07月
13日
Windows Store AppのTextBlockで、はみ出したテキストの代わりに…を出す方法
3days 0 count
total 5247 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20130715113740
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.