none
wglMakeCurrentについて RRS feed

  • 質問

  • こんにちは。

    Visual C++ 6.0でOpenGLで描画するようなアプリケーションを作成しました。

    ただし、wglMakeCurrentでカレントレンダリングコンテキストを設定しようとしたとき、Windowが固まった現象はよく発生しています。

    因みに、パラメータに渡したDCは別アプリケーションにて作られているWindowのDCです。

    wglMakeCurrentが返ってこないのは固まった原因だと思われますが、関数が返ってこない原因はよく分かりません。

    この原因についてご存知の方はいらっしゃいますでしょうか?

    • 移動 山本春海 2011年7月20日 6:15 より適切なカテゴリに移動 (移動元:MSDN / TechNet フォーラムへのご意見ご要望)
    2011年7月19日 8:39

回答

  • >関数が返ってこない原因はよく分かりません。
    「パラメータに渡したDCは別アプリケーションにて作られているWindowのDCです」これに何か心当たりはありませんか?
    そもそもDC自体はMarshalingできません。
    GDI Objectは生成されたProcessでのみ有効です。

    HWNDはProcessを超えられるため、HWND経由でHDCを取得してみてください。
    それでダメなら、他に手は見つからないですね。

    またApplication内でOpenGLによる描画を行った場合、その現象は発生するのでしょうか?
    Hardwareなど環境による原因がないか、確認されてみてはいかがでしょうか。

    ところで、別アプリケーションでOpenGL処理を行う(Process内で閉じる)方法は取れないのでしょうか?

    • 回答としてマーク 山本春海 2011年8月5日 6:33
    2011年7月24日 1:35