![]() |
nonVCL OpenGL-Screensaver
Die Fortsetzung von
![]() Also die Preview (mit Timer, 100 ms) ist schwarz, es wird auch nichts gerendert, der Rechner bleibt aber bedienbar^^ Das ist meine OpenGL-Initialisierung:
Delphi-Quellcode:
Damit müsste der Bildschirm bzw. das Fenster ja schonmal rot werden, tuts aber nicht.
InitOpenGL;
FillChar(pfd, sizeof(pfd), 0); DC := GetDC(AppHWND); pfd.cColorBits := 32; pfd.cAlphaBits := 32; pfd.cDepthBits := 32; pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER; p := ChoosePixelFormat(DC, @pfd); SetPixelFormat(DC, p, @pfd); RC := wglCreateContext(DC); wglMakeCurrent(DC, RC); glClearColor(1, 0, 0, 1); glEnable(GL_DEPTH_TEST); glViewport(0, 0, WNDRect.Right, WNDRect.Bottom); glMatrixMode(GL_PROJECTION); glLoadIdentity; gluPerspective(45, WNDRect.Right / WNDRect.Bottom, 1, 10); glMatrixMode(GL_MODELVIEW); glShadeModel(GL_SMOOTH); Sogar wenn ich in Render noch ein SwapBuffers(DC) einfüge, das hatte ich vergessen :oops: Naja, erstmal würds mir ja reichen wenn ichs im Schonermodus testen könnte, also das Problem mit PeekMessage beseitigt wäre :) |
Re: nonVCL OpenGL-Screensaver
Guck mal bei
![]() |
Re: nonVCL OpenGL-Screensaver
Kennst Du schon das
![]() |
Re: nonVCL OpenGL-Screensaver
So, ich hab mir jetzt ein Template von dgl gezogen...
Damit funktionierts, nur es ist kein Screensaver. |
Re: nonVCL OpenGL-Screensaver
Dein Programm in einen Bildschirmschoner umzubauen ist nicht so schwierig. Für einfaches Testen reicht es schon, einfach die Dateiendung in .scr zu ändern. (Oder das gleich per Direktive einzustellen.) Dann musst Du nur noch die verschiedenen möglichen Parameter behandeln, statt DefWindowProc empfiehlt MS DefScreenSaverProc, das sollte es dann aber sein. :) Findest Du alles in turboPascals Template.
|
Re: nonVCL OpenGL-Screensaver
Nur mit turboPascals Template funktionierts nicht :(
Sicher, zum testen reicht die Endung und DefScreenSaverProc, aber dann krieg ich ja noch keine Preview. Aber darum kümmer ich mich später, ich bin froh dass ich jetzt endlich was sehe^^ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz