掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
OPENGLによるオフスクリーンレンダリング (ID:33073)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Delphi7/WinXP です。 表題の通りOPENGLによるオフスクリーンレンダリングを試みています。 pfd_draw_to_bitmapを設定した上で、Tbitmap(BID)を使っているのですが、 wglMakeCurrentがどうしてもtrueになりません。 解決法をご存知の方いらっしゃいませんか? procedure TForm1.SetPixelFormatDescriptor; var pfd: TPixelFormatDescriptor; begin with pfd do begin nSize := sizeof(TPixelFormatDescriptor); nVersion := 1; dwFlags := PFD_DRAW_TO_BITMAP or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER ; iPixelType := PFD_TYPE_RGBA; cColorBits := 24; cRedBits := 0; cRedShift := 0; cGreenBits := 0; cGreenShift := 0; cBlueBits := 0; cBlueShift := 0; cAlphaBits := 0; cAlphaShift := 0; cAccumBits := 0; cAccumRedBits := 0; cAccumGreenBits := 0; cAccumBlueBits := 0; cAccumAlphaBits := 0; cDepthBits := 32; cStencilBits := 0; cAuxBuffers := 0; iLayerType := PFD_MAIN_PLANE; bReserved := 0; dwLayerMask := 0; dwVisibleMask := 0; dwDamageMask := 0; end; nPixelFormat := ChoosePixelFormat(hdc, @pfd); SetPixelFormat(hdc, nPixelFormat, @pfd); end; ///////////// GLCanvas := TBitmap.Create; GLCanvas.HandleType := bmDIB; GLCanvas.Width := Panel5.Width; GLCanvas.Height := Panel5.Height; GLCanvas.PixelFormat := pf24bit; hdc := GetDC(GLCanvas.Handle); //hdc は HDC型 SetPixelFormatDescriptor; hrc := wglCreateContext(hdc); //hrc は HGLRC型 if (wglMakeCurrent(hdc, hrc) = false) then begin //ここがTrueになりません GLCanvas.Free; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.