【C++】 DirectX初心者質問スレ Part20 【C】
■ このスレッドは過去ログ倉庫に格納されています
0166デフォルトの名無しさん
2008/12/13(土) 14:51:15ドキュメント信じちゃいけないのはきついです。
どんな感じに間違っているのでしょうか?
floatとdoubleの行き来はしていません。floatで統一しております。(ソース中、doubleは一度もでてきません)
ゲーム結果や、途中でのキャラの位置(当然攻撃をくらった、くらわなかったで、同一時間での位置がずれます)を見ても、やはりずれていましt。
特にわかりやすいのは、ゲーム的には同じ決着がついているように見えても、
最後の「キャラクターの位置」の出力を見ると x=10.53126f とこちらでなっていても、athlon環境だと x=10.53120f のように、微妙にですが食い違っているのほとんどです。
(数値は例です。かなり小さな値で違いがあるということです)
>>158
うーん、どうなんでしょう
>>163
すいません、そこが大問題なのかもしれません
「D3DX以外の部分ではx87使っているんだよね?」に対して、明確に答えることができません。(無知すいません)
何も考えずにfloat計算をすると、通常x87が使われるのでしょうか?
例えば float a = 1.0f; a + 0.5f; というプログラムなどです。
>これほんとに確かめた?
この件も申し訳ないです。
「単なるfloat同士の計算なら、環境に左右されず同じ結果になる」
「拡張命令を使うと、拡張命令の種類によって結果が異なる」
という私の思い込みがあります。断言しているのは良くなかったです。
>>165
同人ゲームでも、この問題は出ているようですよ。リプレイで微妙にずれると
祭りになっているのかはわかりませんが・・・例えば
ttp://www.01step.net/tobitsuki/bbs/test/read.php/tobi_bbs/1116256631/13-112
などです
■ このスレッドは過去ログ倉庫に格納されています