OpenGLシーン上に2Dオーバーレイを描画する必要があります。OpenGLは2Dアニメーションに使用され、正射影でテクスチャ2D長方形を描画するだけです。これは、次の描画コードです。
//ビューポートはウィンドウクライアント領域全体に設定されます // m_fRectX、m_fRectYはOnSizeで計算され、定義されます //画像描画用のサブ長方形 // m_nImageWidth、m_nImageHeightはテクスチャの寸法です glClear(GL_COLOR_BUFFER_BIT); glEnable(GL_TEXTURE_RECTANGLE_ARB); glBegin(GL_TRIANGLE_STRIP); glTexCoord2d(0.0f、(float)m_nImageHeight); glVertex2d(-m_fRectX、-m_fRectY); glTexCoord2d((float)m_nImageWidth、(float)m_nImageHeight); glVertex2d(+ m_fRectX、-m_fRectY); glTexCoord2d(0.0f、0.0f); glVertex2d(-m_fRectX、+ m_fRectY); glTexCoord2d((float)m_nImageWidth、0.0f); glVertex2d(+ m_fRectX、+ m_fRectY); glEnd(); SwapBuffers(m_hDC);
私の要件:
パフォーマンスは重要です。
Windows固有のAPIが許可されています。
テキストと画像のオーバーレイ(アイコンスタイル)が必要です。
オーバーレイの位置とサイズを定義する唯一の要因は、ウィンドウクライアントの領域サイズです(私の場合はOpenGLビューポートと同じです)。
この場合、どのような手法が適していますか?