frage zu GetWindowText()

Schnelle objektorientierte, kompilierende Programmiersprache.
hofian
Beiträge: 62
Registriert: Do Sep 24, 2009 6:59 pm

Re: frage zu GetWindowText()

Beitrag von hofian » Sa Jun 26, 2010 8:47 pm

Ok, fangen wir mal an: :)
Alle von Xin genannten Frameworks sind für die Erstellung von Benutzeroberflächen geeignet und sind plattformunabhängig (alles gibt es für Windows, Linux, Mac u.a.).

GTK und wxWidgets
wxWidgets und GTK sind fast ausschließlich für GUIs zu gebrauchen (heißt: Du kannst Fenster erstellen, Menüleisten reinsetzen, Buttons draufklatschen, u.s.w.). GTK zeichnet seine Benutzeroberfläche auf allen Plattformen selber, während wxWidgets auf das native System zurückgreift (unter Windows benutzt wxWidgets beispielsweise die WinAPI).

Qt
Qt kann dagegen noch ein bisschen mehr: Es ist ein komplettes Framework für die Erstellung von Anwendungen, du kannst damit zum zum Beispiel auch noch auf Dateien zugreifen oder mit dem Netzwerk arbeiten. Qt zeichnet meines Wissens nach auch mit eigenen Zeichenroutinen.

Was ist für 3D Spiele am besten geeignet?
Diese Frage ist bei den oben aufgelisteten Frameworks ziemlich schwer zu beantworten, da keines für die Erstellung solcher "Anwendungen" konzipiert wurde. Wenn du wirklich in die dritte Dimension ohne die WinAPI einsteigen willst, so empfehle ich dir OpenGL, entweder in Verbindung mit dem SimpleDirectMediaLayer (SDL) oder GLUT (Frage an alle: Wie ist GLFW?).
Willst du dagegen 3D Grafik mit einer Benutzeroberfläche zusammen verwenden, so rate ich dir wieder zu Qt, GTK oder wxWidgets. Alle bieten die Möglichkeit, einen (OpenGL-) Viewport einzubetten. Dann kannst du wieder mit OpenGL in den Viewport zeichnen.

Generell sollte man sich erst mit solchen Frameworks beschäftigen, wenn man sich in der Programmiersprache seiner Wahl (ich gehe jetzt mal von C oder C++ aus) zurechtfindet (ich spreche da aus eigener Erfahrung :? ).

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: frage zu GetWindowText()

Beitrag von Xin » Sa Jun 26, 2010 9:07 pm

Empire hat geschrieben:Sorry das ich nicht geantwortete habe, aber in einer Woche ist meine letzte Prüfung. Deshalb ist es gerade noch etwas stressig.
Willkommen im Club.
Empire hat geschrieben:Aber bevor ich jetzt Anfang mich mit einem der Genannte zu lernen würde ich gern noch etwas wissen.
Haben sie sich auf etwas spezialiesiert?
Auf's Du. Wenn Du mich siezt habe ich das Gefühl, ich wäre über 30.
Und wenn Du Siezt, solltest Du es auch groß schreiben, sonst ist sie weiblich. ^^
Empire hat geschrieben:Wenn ja auf was?
Ich habe praktische Informatik studiert, was bedeutet, dass man von mir erwartet, dass ich mich auf das spezialisiere, was gerade anliegt.
Das war bisher Bash-Programmierung, Linux-Systemprogrammierung, Linux-Server-Administration, Windowssystemprogrammierung mit .COM (TAPI), C#, Datenbankprogrammierung, Webdesign, Optimierung von Algorithmen, 3D-Visualisierung, eine visuelle Programmiersprachen für die Visualisierung der 3D-Daten, eine Steuerung von Suchmaschinen, Windowssystemprogrammierung mit der WinAPI, Dialogprogrammierung und derzeit 3D-Berechnungen, bald endlich kommend 3D-Visualisierung mit OpenGL.

Müsste ich mich auf eine Spezialisierung festlegen, dann wäre das Compilerbau.
Empire hat geschrieben:Ich würde gerne etwas lernen das sich für 3D Spiele eignet. Gibt es etwas das sich dafür besonder gut eignet?
OpenGL und DirectX.
DirectX ist Windows only, OpenGL ist portabel, also für Linux, Mac, Windows, Embedded Systems (z.B. Mobiltelefone).
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Empire
Beiträge: 272
Registriert: Mo Jan 26, 2009 5:36 pm

Re: frage zu GetWindowText()

Beitrag von Empire » Sa Jun 26, 2010 9:12 pm

Also ich glaube das ich mit C/C++ inzwischen gut zurecht komme.
(90% meiner Errors werden durch fehlende } ausgelöst was ich auf fehlende
Konzentartion und nicht auf Unkenntnis zurück führe).
also fange ich jetzt mal An OpenGL zu googeln.
Danke führ die ausführliche erklärung.

@Xin:
Ich hab nicht dich sonder GTK, Ot, ... "gesiezt".
Auch wenn ich dich nicht gemeint habe war die Antwort doch sehr interesant^^.

mfg
Empire

Edit:
Muss ich die visualiesierung verstehen?
Edit2:
Ist das 1. ein MRT Bild eines Hirns?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: frage zu GetWindowText()

Beitrag von Xin » Sa Jun 26, 2010 9:57 pm

Empire hat geschrieben:also fange ich jetzt mal An OpenGL zu googeln.
Ich werde voraussichtlich endlich nächsten Monat offiziell mit OpenGL anfangen.... dann werde ich wohl auch mal was dazu schreiben.

Auf meiner Website befinden sich auch Links zum Thema. Nehes Tutorial ist wohl mal einen Blick wert.
Ansonsten ist das Red Book die erste Referenz.

OpenGL kannst Du über GLut oder auch SDL starten. Und natürlich auch von Hand, aber um mal auszuprobieren ist Glut eigentlich ganz praktisch.
Empire hat geschrieben:@Xin:
Ich hab nicht dich sonder GTK, Ot, ... "gesiezt".
Auch wenn ich dich nicht gemeint habe war die Antwort doch sehr interesant^^.
Hmm... hatte das eben so verstanden, keine Ahnung warum. ^^
Empire hat geschrieben:Muss ich die visualiesierung verstehen?
Nein, denn weder sind alle Bildchen da ausgefüllt, noch kann sind die Bildchen so informativ, dass man das einfach verstehen könnte. Fährt man mit der Maus über die Befehle (Ikons) bzw. die Anschlüsse, dann wird in der Statuszeile eine kurze Info angezeigt, was man hier überhaupt verbindet. Eniges sieht man schon an den Verbindungsfarben: Rot sind Zahlen, Blau sind Farb- bzw. Helligkeitsinformationen. Dünne Linien haben 1 Dimension, die dicken haben drei Dimensionen. Und so konnte man auch nur "typsicher" zwei Befehle miteinander verbinden.
Das Ganze ist nur ein Screenshot einer Beta, die zufällig noch auf meiner HP liegt. Das Programm ist übrigens mit GTK geschrieben und wurde auf Linux entwickelt und kompiliert. Auch die Windows-Version.

Der Würfel oben links ist der Datensatz, die Teekanne ist der Renderer, der aus dem Datensatz eine Grafik in der Größe 300x300 erstellt. Damit die Teekanne weiß, welche Daten sie rendern soll, ist sie mit dem Würfel verbunden.
Der blaue Kasten nimmt aus dem Datensatz die Dimensionen der Daten raus, also wieviele Pixel in x, y und z-Richtung vorhanden sind. Dann folgen ein paar Grafikfehler, wo die drei Werte in einen Vektor übertragen werden, der anschließend durch 2 geteilt wird. Dies ist der Mittelpunkt des Datensatz und die Position, auf die die Kamera beim Rendern schaut.

Das Gewusel dadrunter ist das Berechnen der Perspektive, also von wo schaut die Kamera auf den Mittelpunkt des Datensatzes. Hierbei wird ein Vektor berechnet, der sich um die X- (1000, 0, 0), bzw. um die Y-Achse (0, 1000, 0) dreht. Vektoren konnten noch keine Fließkommazahlen, deswegen wird die jeweilige Achse mit einem ausreichend großem Integer berechnet. ^^.
Der Integer-Wert, der aus dem Slider kommt, wird dann in eine Fließkommazahl gewandelt ( 1 -> 1.0 ), mit Pi multipliziert und dann durch 180 geteilt. Damit errechnet man den Vektor auf die Kameraposition.

Das alles wandert in die Teekanne, die daraus ein Bild rendert. Das fertige Bild kommt aus der Teekanne raus und geht auf den Monitor - man sieht es also. :-)
Man könnte es auch beispielsweise auf die Festplatte schreiben oder beides.

Mit der Loop-Funktion habe ich so kleine Filme erstellt, wie man sich um den Schädel dreht oder auch ins Hirn eintaucht.
Empire hat geschrieben:Ist das 1. ein MRT Bild eines Hirns?
Zimindest ist der obere Teil eines Kopfes samt Innenleben. Ob das jetzt aus einem MRT kommt, weiß ich nicht, aber ich gehe davon aus. Für mich war das nur ein Testdatensatz.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: frage zu GetWindowText()

Beitrag von Kerli » Sa Jun 26, 2010 11:01 pm

Wenn es zu SDL+OpenGL kommt verweise ich immer wieder auch gerne auf meine Signatur ;) Zusätzlich zu den bereits genannten Bibliotheken könnte sich vieleicht auch ein Blick auf die SFML lohnen. Ich hab sie zwar selbst noch nicht verwendet, aber schon einige positive Meinungen dazu gelesen. Außerdem ist sie im Gegensatz zu glu(t), SDL etc. in C++ geschrieben und dementsprechend auch objektorientiert aufgebaut.
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Empire
Beiträge: 272
Registriert: Mo Jan 26, 2009 5:36 pm

Re: frage zu GetWindowText()

Beitrag von Empire » So Jun 27, 2010 9:25 am

Ich finde dein Tutorial echt gut.
Ich habe die libs und includes und dll instaliert und das Bsp Prog ausprobiert.
Leider Kamen dabei diese Errors:

Code: Alles auswählen

  [Linker error] undefined reference to `SDL_Init' 
  [Linker error] undefined reference to `SDL_GetError' 
  [Linker error] undefined reference to `SDL_Quit' 
  [Linker error] undefined reference to `WinMain@16' 
Für die anderen, ich meine diese Bsp Progg:

Code: Alles auswählen

#include <SDL.h>        // SDL-Header
#include <SDL_opengl.h> // Bindet plattformabhängig die richtigen Header ein 
#include <iostream>         // für Konsolenausgaben

using std::cout;    // Wir verwenden std::cout und
using std::endl;    // std::endl für die Konsolenausgaben

// Die main Funktion muss unter Windows unbedingt
// diese Form haben, da es ansonsten zu einem
// Linkerfehler kommen würde.
int main(int argc, char **argv)
{
  if( SDL_Init( SDL_INIT_VIDEO ) != 0 ) // Initialisieren des SDL Video Subsystems
  {
    cout << "Die SDL konnte nicht initalisiert werden (" << SDL_GetError() << ")" << endl;
    return 1;
  }

  cout << "Willkommen zum SDL Testprogramm." << endl;


  SDL_Quit(); // Herunterfahren der SDL Bibliotheken
  return 0;
}
mfg
Empire

EDIT:
Kann man dass eigendlich mit Windowsprogrammierung kombinieren.
Das würde die Nachrichten Verarbeitung verbessern.

paparoach777
Beiträge: 52
Registriert: Mi Mai 12, 2010 3:48 pm

Re: frage zu GetWindowText()

Beitrag von paparoach777 » So Jun 27, 2010 10:08 am

also ich persönlich bin kein freund von SDL, weil man da in jedem neuen projekt die abhängigkeiten angeben muss (bei VC++, bei anderen weiß ich nicht).
deswegen benutze ich lieber glut ist meiner meinung nach auch einfacher...


http://www.videotutorialsrock.com/
von den tutorials hab ich das meißte das ich über OpenGL und glu(t) weiß
return EXIT_FAILURE;

Empire
Beiträge: 272
Registriert: Mo Jan 26, 2009 5:36 pm

Re: frage zu GetWindowText()

Beitrag von Empire » So Jun 27, 2010 10:25 am

Sorry, dafür ist mein Englisch zu schlecht.

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: frage zu GetWindowText()

Beitrag von Kerli » So Jun 27, 2010 10:50 am

paparoach777 hat geschrieben:also ich persönlich bin kein freund von SDL, weil man da in jedem neuen projekt die abhängigkeiten angeben muss (bei VC++, bei anderen weiß ich nicht).
deswegen benutze ich lieber glut ist meiner meinung nach auch einfacher...
Die Abhängigkeiten musst du aber bei jeder Bibliothek angeben. Auch bei glut...
Empire hat geschrieben:Ich finde dein Tutorial echt gut.
Danke. Freut mich das zu hören :)
Empire hat geschrieben:Ich habe die libs und includes und dll instaliert und das Bsp Prog ausprobiert.
Leider Kamen dabei diese Errors:
Das schaut irgendwie dannach aus als hättest du nicht die angegebenen Bibliotheken gelinkt. Das gleiche Problem hatten wir gerade auch in einem anderem Thread.
Empire hat geschrieben:Kann man dass eigendlich mit Windowsprogrammierung kombinieren.
Das würde die Nachrichten Verarbeitung verbessern.
Ich würde da keine Windows-Funktionen verwenden da dadurch die plattformunabhängigkeit verloren gehen würde. Was willst du denn an der Nachrichtenverarbeitung verbessern? Du bekommst doch eh alle Nachrichten von der SDL...
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Empire
Beiträge: 272
Registriert: Mo Jan 26, 2009 5:36 pm

Re: frage zu GetWindowText()

Beitrag von Empire » So Jun 27, 2010 10:53 am

Bei der Windowsprogramierung ist die Schleife schon im Grundgerüst enthalten.
Dachte das wäre einfacher. Hast aber recht der Preis ist zu hoch.

Antworten