北海道苫小牧市出身の初老PGが書くブログ

永遠のプログラマを夢見る、苫小牧市出身のおじさんのちらしの裏

ウィンドウ座標とワールド座標

地道にOpenGLを思い出してます。

マウスで画面をクリックしたときのイベントをlocationInWindowとか使ってNSPointとして得たときの座標はウィンドウ座標です。これはワールド座標ではないので、glOrthoとかでセットしている射影変換に合うように座標の変換が要ります。特にy座標は、ウィンドウ座標では下を正に、ワールド座標では上を正に取ることが多いので向きをひっくり返したりする必要があります。

手持ちのOpenGL入門の中では、glOrthoでワールド座標(クリップウィンドウ)とウィンドウ座標(OS上のウィンドウ)を完全に一致させちゃって、マウスの座標をそのままGLInt型で使っちゃえばいいでしょ、って書いてました。それでいいのかなあ。

OpenGL入門―やさしいコンピュータグラフィックス (スタンダードテキスト)
Edward Angel 滝沢 徹 牧野 祐子
4894714426