2009-05-18 9 views
0

基本的に私はオフスクリーンのDCにレンダリングするよう呼び出されていますが、これはGDI +を使用するために設定されています(わかりません)。 OpenGLコンテキストをDCに関連付けると、失敗するだけです(つまり、ゼロは返されますがエラーは発生しません)。 SetPixelFormatも失敗します(既に設定されているためでしょうか?)。エラーではなくゼロを返します。既にGDI +を使用しているウィンドウでOpenGLを使用することはできますか?

このような状況(つまり、他の誰かがGDI +を使用しているウィンドウのオフスクリーンコンテキスト)では、OpenGLコンテキストを作成してOpenGLを使用することができますか? (そして、それが可能であるならば、なぜwglCreateContextが失敗するかもしれない?)

答えて

1

この記事は、すべてのステップは、GDIウィンドウをフックする方法を示します。基本的にhttp://nehe.gamedev.net/data/lessons/lesson.asp?lesson=01

、あなたが持っている:

  1. セットアップピクセルフォーマットデバイスの共同のためのウィンドウの描画領域のデバイスコンテキストを取得し登録画面
  2. をウィンドウ
  3. を作成します。 ntext型
  4. コールwgl​​CreateContext
  5. コールwgl​​MakeCurrent
  6. 表示ウィンドウ

すでにデバイスコンテキストへのアクセス権を持っている場合は、最初の2つのステップをスキップします。

あなたの場合、wglMakeCurrentが必要なものかどうかを確認することができます。それ以外の場合は、発生しているエラーや動作の詳細を投稿してください。

+0

問題は、私はDCを持っていることです(オフスクリーンのデバイスコンテキストです)。描画する必要があるウィンドウを参照していますが、私のwglCreateContextは、SetPixelFormatと同じようにエラーメッセージもなく失敗します。 私は問題なく新しいOpenGLウィンドウを作成できますが、問題のアプリケーションによって私に与えられたDCを使用しようとしています... –

+0

どのように失敗しているのですか?何らかのエラーやコードが戻ってきていますか?どんな奇妙な行動か、それはただ描いていないのですか? –

+0

OpenGLまたはWindowsシステムのエラーコードはありません。私は、有効なHGLRCの代わりに0を返すので、動作していないことを知っています。 –