![]() |
TButtons im OpenGl (@Aya)
Hi!
Ich habe Aya's OpenGl-Kurs absolviert. ;) Da wird ja die Form zur Laufzeit erzeugt. Wie kann ich eine Form1 nehmen, die Auch in Delophi sichtbar ist. Mr_T's Tut habe ich mir durchgeschaut, aber ich möchte das ohne Timer machen, Aya hat's ja auch ohne Timer hinbekommen. :mrgreen: Für Hilfe wäre ich dankbar, aber bitte nicht solche Kommentare wie: "Mach es mit Threads!" Das kann ich nämlich nicht! :( |
Re: TButtons im OpenGl (@Aya)
Zitat:
Aya wird wohl für einen Monat, wenn du Pech hast nicht online sein. |
Re: TButtons im OpenGl (@Aya)
Es gibt noch den Mr_T :) Der ist auch gut in OpenGL :)
Aya ist im Umzug Stress .. |
Re: TButtons im OpenGl (@Aya)
Danke Luckie. Danke M.Knebel.
Mr_T! Hilf mir bitte. :mrgreen: |
Re: TButtons im OpenGl (@Aya)
Hi Matze,
ich habe Ayas Tutorials zuerst auch als VCL-Version gemacht und es ging genau so gut, Aya hat es dann im IRC NonVCL gemacht, ansonsten ändert sich für Dich nicht viel. 1. Neue Anwendung erstellen. 2. Bei den Komponenten auf den Reiter "Zusätzlich", dort gibt es die Komponente "ApplicationEvents", blauer Kreis, eine Fackel drin uns drei schwarze Pfeile. Von der AppEvents-Kompo brauchst Du das Ereigniss OnIdle, das sieht dann so aus:
Delphi-Quellcode:
Was sich noch ändert, in der DrawScene kommt die letzte Zeile noch rein, bei NonVCL ist die nämlich woanders drin.
procedure TForm1.ApplicationEvents1Idle(Sender: TObject;
var Done: Boolean); begin DrawScene; Done := False; end;
Delphi-Quellcode:
Ins normale FormCreate kommt noch das rein:
procedure TForm1.DrawScene;
begin glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); glLoadIdentity; glTranslate(0, 0, -5); glRotate(RotateX, 1, 0, 0); glBegin(GL_QUADS); . . . glEnd; RotateX := RotateX + 1; if RotateX > 360 then RotateX := RotateX - 360; SwapBuffers(h_DC); //<-- Übeltäter... end;
Delphi-Quellcode:
Das müsste es gewesen sein, die IniGL und SetDCPixels... bleiben gleich, fällt mir jetzt auf die schnell jedenfalls kein Untershcied ein. Egl, probier das einfach mal aus, wenns nicht geht, sag bescheid, dann häng ich dann die Unit ganz an, so wie es bei mir auch mal gelaufen ist und noch läuft hoff ich. ;)
procedure TForm1.FormCreate(Sender: TObject);
begin InitOpenGL; h_DC := GetDC(Handle); SetDCPixelFormat(h_DC); hRC := wglCreateContext(h_DC); wglMakeCurrent(h_DC,hRC); InitGL; end; |
Re: TButtons im OpenGl (@Aya)
Hi Daniel!!
Das ist nett, dass du mir hilfst, aber ich bekomme das nicht gebacken! Dann kommen so ein paar Fehlermeldungen. :shock: Weil ich jetzt eine Unit1 und einen Project1-Reiter habe, erkennt die Unit1 die ganzen Funktionen wie DrawScene, ... nicht. :cry: Könntest du hier bitte die Unit als Attachment anhängen oder sie mir als pn schicken. Das wäre echt super. ;) |
Re: TButtons im OpenGl (@Aya)
Huhu,
^^ |
Re: TButtons im OpenGl (@Aya)
Vielan Dank Daniel!!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 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