ソフトウェア開発について最近学んだテクニックなど(自分メモ)
clock_t が便利
#include
clock_t now_time = clock()
を使って、OpenGLなど、コマの進み方を制御すると、処理量の大小にかかわらず一定のスピードでコマを進められるから便利。わかりやすい。
//frame_length = 40; だと、25fps. nowtime = clock(); if((nowtime-pasttime)/CLOCKS_PER_SEC*1000>frame_length) { ++frame; //以後描画処理 //frameの数値を使って描画を行う }
みたいな感じ。
ただ、上記のままだと、少しずつ誤差がたまっていくので
//firsttimeは、描画開始時のクロック。 nowtime = clock(); if((nowtime-firsttime)/CLOCKS_PER_SEC*1000>frame_length*(frame+1)) { ++frame; //以後描画処理 //frameの数値を使って描画を行う }
とすると、描画スタート時からの経過時間で判断するので、累積誤差は発生しない
長いアニメーションになるとframe数がオーバーフローする可能性があるので、
定期的にframeとfirsttimeをリセットしてやると良い。
glut32.dll を Windows Vista x64でつかう
WinSock, WinSock2のバッティング
winsock2.h を使おうとしてやたらエラーが出たときの対処その2*1
[参照] http://www.02.246.ne.jp/~torutk/cxx/socket/win32_socket.html
OpenGLでテクスチャをロードするためにOpenCVのロード関数を使う
いろいろわかったつもりだったけど、やっぱりわからなくなった。なにかと原因不明のエラーが消えない。参考にしたのは
http://wiki.livedoor.jp/mikk_ni3_92/d/%A6%C1%C3%CD%A4%C8%A5%C6%A5%AF%A5%B9%A5%C1%A5%E3%A4%CE%C0%DA%A4%EA%C8%B4%A4%AD
*1:その1は、ws2_32.libをリンクするって話