メイン ウィンドウにある子ウィンドウの下でシーンをレンダリングできません。2 つの登録済みウィンドウを取得しました。
mainwindow = CreateWindow(bgwinNAME,
TEXT("Benchmark"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(mhwnd, SW_MAXIMIZE);
UpdateWindow(mainwindow);
childwindow = CreateWindow(benchwinNAME,
NULL,
WS_CHILD,
(GetSystemMetrics(SM_CXSCREEN)-width)/2,
(GetSystemMetrics(SM_CYSCREEN)-hight)/2,
width,
hight,
mainwindow,
NULL,
hInstance,
NULL);
UpdateWindow(childwindow);
(子ウィンドウは後で表示されます)
私のループは次のようになります。
while(TRUE)
{
while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
if(msg.message == WM_QUIT)
break;
StartOpenGL(childwindow, &hdc, &hrc );
// .... my GL functions
SwapBuffers(hdc);
}
StopOpenGL(childwindow, hdc, hrc );
return msg.wParam;
}
childwindow
が hwnd として設定されている場合StartOpenGL();
、反応はありません。ウィンドウ クラス (hbrBackground) で定義された白い背景を持つウィンドウしか表示されません。hwnd がmainwindow
シーンに設定されている場合、範囲SW_MAXIMIZE
.
私の StartOpenGL & StopOpenGL 関数は以下からのものです: Link