Ich bin ein bischen opengl an testen. Jetzt habe ich eine munze gemacht die dreht. Dafur gebrauch ich 52 mal 3 cilinder objecte die een .jpg bild projectieren. Ich konnte keinen besseren weg finden um zu kriegen was ich wolte. jetzt wolte ich den background wegholen. Dafur gebrauch ich die form propertie TransparentColor aber jetzt ist das program sehr langsam. Ich schetze das ich nur nog 50 - 100 fps habe.
Mach ich was falsch oder gibt es ein besseren weg um zu kriegen was ich wil?
Met freundlischen Grussen,
Kevin Hendricks
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Hallo Kevin,
willkommen im Forum.
50-100 fps. Auch wenn dich das überraschen mag. Aber schätze dich glücklich, dass es überhaupt so viele sind. Denn sobald du bei einem Fenster TrasparentColor oder AlphaBlending aktivierst, dann versagt die Hardwarebeschleunigung der Grafikkarte und die rudimentäre Softwareimplementation von Windows kommt zum Tragen. Und die kann erst mal nicht wirklich viel. Das dann mitunter noch fehlerhaft und obendrein auch noch alles auf der CPU. Ich denke die Berechnungen werden technologisch auch noch auf dem Stand von 1996 sein. Also Asbach und besonders langsam. aus diesem gesichtspunkt sind 50-100 fps gar nicht zu verachten.
Das Blöde an der Sache. Das ist sogar vollkommen normal. Mit neueren Grafikkarten gäbe es evtl. die Möglichkeit da etwas dran zu drehen. Allerdings läuft das darauf hinaus, dass man ein zusätzliches unsichtbares Fenster benötigt welches einen Renderkontext erstellt der sich nur im Speicher befindet. Nachdem man ein Bild gezeichnet hat würde man den Inhalt des Bildes kopieren und dieses dann auf dein sichtbares Fenster kopieren. ABER. Dafür benötigst du recht neue Hardware und könntest so evtl die Hardwarebeschleunigung behalten. Es entsteht aber auch reichlich Arbeit die die Hardware wieder ausbremmst. Und ich denke fast, dass es kaum schneller sein würde.
Da stellt sich mir die Frage was du damit vor hast? Also was möchtest du damit erreichen? Evtl. könnte es auch ausreichen, wenn du beim Start einen Screenshot des Desktops machst und diesen als Bild in den Hintergrund deiner Anwendung zeichnest. Der wäre dann allerdings statisch und du kannst nicht durch das Fenster klicken. Mitunter könnte das aber die Illusion eines Desktops erzeugen.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Kleine Anmerkung noch. Um eine Münze vernünftig darzustellen genügt mitunter auch ein recht flacher Zylinder. Denn dann hast du richtige Flächen an der Kante und musstest die nicht durch viele übereinander gelegte Papierscheiben simulieren. Obendrein ist es auch noch schneller. Dazu gibts auch die Methode gluCylinder. Bzw. im Zweifen kann man so etwas auch in einem 3D Programm erstellen.
Das program geht jetzt sehr schnell (selbst auf der grafikkarte in mainboard). Danke fur den tip mit dem cilinder.
Ich hatte da noch eine frage. Isst es moglich den glu32.dll einzufugen ins project? Ich krieg nehmlich acces violation oder missing dll auf andere pc's.
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Hey,
kannst ja einfach die dll in deinem Projektordner (also dort, wo sich die exe befindet) ablegen,
denn wenn die dll nicht im Systemverzeichnis zu finden ist, wird dort als nächstes gesucht.
(oder war das andersrum?).
Kurz: einfach die glu32.dll mit dem Projekt mitgeben.
Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.