[表示 : 全て 最新50 1-99 101- 2ch.scのread.cgiへ]
Update time : 04/05 18:01 / Filesize : 46 KB / Number-of Response : 173
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【3Dエンジン】Irrlicht初心者質問スレその4



13 名前:名前は開発中のものです。 mailto:sage [2010/09/23(木) 18:08:04 ID:7XCQvY35.net]
Irrlicht1.7.1を使っていて
なぜか桁の大きいdouble型変数の演算時に小数部が切り捨てられていたので、原因を探ってみたところ
どうやら
irr::createDeviceの第一引数のレンダリング環境を設定するところでDirectX(EDT_DIRECT3D8及びEDT_DIRECT3D9)を指定するとこの現象が起きるようでした。
createDeviceを使用しなかったり、DirectX以外のOpenGLやソフトウェアレンダラを指定するとこの現象は起きませんでした。
原因や解決法を教えていただきたいです。。
C++自体初心者なので全く関係の無いところで勘違いしてるのかもしれませんが…

なお以下のコードで現象を確認しました(test03が10000000.5になって欲しいのに10000000.0になる)
#include <irrlicht.h>
#include <windows.h>
#pragma comment(lib, "Irrlicht.lib")
using namespace irr;
using namespace core;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
IrrlichtDevice *device =createDevice(video::EDT_DIRECT3D9, dimension2d<u32>(640, 480), 16, false, false, false, 0);
double test01=10000000;
double test02 = 0.5;
double test03=test01+test02;
device->drop();
return 0;
}






[ 続きを読む ] / [ 携帯版 ]

全部読む 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<46KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef