問題タブ [wgl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - wglChoosePixelFormatARB から取得したピクセル形式を使用すると、SetPixelFormat が false を返す
SetPixelFormat を使用して HDC のピクセル フォーマットを設定すると、false が返されます。GetLastError() を使用しましたが、エラー コード 2000 (無効なピクセル形式を意味します) が表示されます。
コードは次のとおりです。
これらのコードは、FALSE openGL コンテキストCreate WGLを作成してアクティブにした後です。
windows - OpenGL ウィンドウの作成 win32 API
win32 API を使用して、既存の親ウィンドウ内に OpenGL ウィンドウを作成しようとしています。ただし、子を作成するとき、関数 CreateWindowEx はエラー 1407 ERROR_CANNOT_FIND_WND_CLASS で NULL を返します。ウィンドウは子である必要があるため、ボタンやチェックボックスなどの他のコントロール用のスペースが残っています...
親ウィンドウを作成するコードの一部:
メッセージ ループ内で、子ウィンドウを作成しています。
私はいくつかのチュートリアル ( NeHe、cs.rit.edu、および他の多くのリンクを投稿できません) を調べましたが、それらはすべてL"OpenGL"
function の 2 番目の引数のクラス名として使用されていますCreateWindowEx()
。
私は何を間違っていますか?「OpenGL」は「Edit」/「Static」/「Button」などの有効なクラス名ですか? 他のものと交換できますか?「静的」を試しましたが、何もレンダリングされませんでした。
ウィンドウの作成を処理する多くのライブラリ (GLFW、SDL など) があることは知っていますが、純粋な win32 API を使用する必要があります。
アップデート:
RegisterClass() が問題を解決しました。これが私のために働くコードです:
c - win32 api と OpenGL と wgl でコンテキストの作成が失敗する理由が理解できない
したがって、OpenGL レンダリング コンテキスト用のウィンドウ作成の基本的な手順をすべて実行しました。
問題は、opengl でコア プロファイル コンテキストを作成しようとすると失敗し、a.exe ファイルを実行すると Windows から「プログラムが動作を停止しました」というメッセージが表示されることです。問題が存在する場所は示されません。何が問題を引き起こしているのか、gdbを実行しようとしましたが、関数のみを参照しています
wglCreateContextAttribsARB であり、その他の情報は提供されません
これが現在プログラムに含まれている私のファイルです
mainWin.c
winMain.h
最後に glPart.c
wglCreateContextAttribsARB を使用せずにこれを古い方法で行うと、正常に動作し、シェーダーがなくても本来の動作を実行しますが、wgl でコア プロファイル コンテキストを作成してこれを実行しようとすると、プログラムが失敗します。
私はコンパイルします
エラーは発生しません