ich schnüffel mich seit 2 tagen durch diese homepage und bin sehr begeistert da ich mir auch schon die ersten beiden Tutorials angesehen habe. Ich würde auch direckt liebendgerne anfangen so programieren aber jetzt kommt sher wahrscheinlich eine sehr blöde frage: "wo bekomme ich OpenGL gedownloadet?"
Ein paar denken jetzt bestimmt 'und der will was proggen?' Ja will ich und wzar mit OpenGL
Registriert: Mi Dez 03, 2008 12:01 Beiträge: 167 Wohnort: /country/germany
Programmiersprache: C++ / FreeBASIC
OpenGL selbst kannst du nicht downloaden, das ist ja eigentlich nur die Spezifikation einer API. Um OpenGL zu nutzen brauchst du verschiedene Dinge: 1. Den Header. Der ist entweder bei deinem Compiler dabei (FreeBASIC, MinGW...) oder du musst dir entsprechend einen besorgen (für Delphi gibt es den DGL-Header) 2. Die lib, gegen die gelinkt wird. Sollte eigentlich auch bei deinem Compiler dabei sein 3. Die opengl32.dll, quasi das Bindeglied zwischen deinen OpenGL-calls und der Implementierung des Treibers 4. Einen Treiber, der deine OpenGL-Befehle dann entsprechend umsetzt.
Wie genau das aussieht hängt von der Sprache ab, in der du programmieren willst (und natürlich von deinem Compiler).
_________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das was darkinsanity da schreibt klingt vielleicht etwas cryptisch für dich - wenns auch richtig ist. Am besten du gibst mal auskunft mit welcher Sprache und IDE/Compiler du programmieren willst. Dann steigen deine Chancen auf genauere Auskünfte.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Mi Dez 03, 2008 12:01 Beiträge: 167 Wohnort: /country/germany
Programmiersprache: C++ / FreeBASIC
Visual C++ ... Da müsste eigentlich schon alles dabei sein. Habs aber schon ne Weile nicht mehr benutzt, ich nehme nur noch MinGW. Unter C++ hast du leider einen "vergleichsweise" schwierigen Einstieg, es sei denn du benutzt Bibliotheken die dir Dinge wie z.B. die Fenstererstellung abnehmen. Interessant dürften vermutlich die NeHe-Tutorials bzw. die deutsche Übersetzung sein. Die beschäftigen sich allerdings direkt mit der WinAPI (du erstellst das Fenster also direkt selbst, ist mit einigem Aufwand verbunden), wobei auch erklärt wird, welche Libs du dazulinken musst dass das Ganze funktioniert. Ansonsten kannst du natürlich SDL zur Hand nehmen um dir die Arbeit zu erleichtern: http://www.tomprogs.at/tutorials/spiele ... lung.xhtml Eine besonders auf OpenGL zugeschnittene Bibliothek wäre da noch glut: http://www.lighthouse3d.com/opengl/glut/
Diese Bibliotheken nehmen dir natürlich nur die Initialisierung, Eingabe usw. ab. Du musst also vorher trotzdem schon einige Dinge eingestellt haben, z.B. müssen die notwendigen Libs mitgelinkt werden. Das sollten eigentlich "opengl32" und "gdi32" sein, damit kannst du dann rein theoretisch auf WinAPI und OpenGL-Funktionen zugreifen. Wo du bei VC++ einstellen kannst, dass er die libs dazulinkt, weiß ich leider nicht (da könnte aber vermutlich das NeHe-Tutorial helfen). Bevor du dann natürlich OpenGL-Funktionen aufrufst, musst du natürlich noch die entsprechenden Header einbinden.
Ich hoffe jetzt mal dass dieser Post hilfreich war und dich nicht verwirrt hat
_________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
ich hab zwar ein eingabe fenster, aber wenn ich dort einen befehl eingebe kommt die meldung das der BEfehl entweder falsch geschrieben sei doer nicht existieren würde. Kannst sein das OpenGL nicht richtig eingebunden ist?
Registriert: Di Okt 13, 2009 17:25 Beiträge: 365
Programmiersprache: C++
Ich würde auf jeden Fall eine Kombination aus SDL (glut wird schon länger als veraltet betrachtet) und glew empfehlen. Das nimmt einem sehr viel Arbeit ab (ich habe es selbst erst ohne probiert).
AwesomeArea-AA hat geschrieben:
ich hab zwar ein eingabe fenster, aber wenn ich dort einen befehl eingebe kommt die meldung das der BEfehl entweder falsch geschrieben sei doer nicht existieren würde. Kannst sein das OpenGL nicht richtig eingebunden ist?
Huch... woher hast du auf einmal ein Eingabefenster und was versuchst du da einzugeben?
ich versuch da ein dreieck zu zeichnen, wie es mir hier im tutorial lektion 2 "Entdeckung einer neuen Welt" erklärt wird...das ich mir auch 2 mal durchlesen musste (man ich mag den smilie )
also in diesem fenster (hatte ich eben vergessen hinzuzufügen)
ich möchte vorallem anfangen Vegetation zu "zeichnen" auf der startseite sieht man schon das Projeckt "Vractal" von Kyro mein ich. ich stell mir das sehr sehr sehr seeeehr schweirig vor da ich nen seeehr großen plan habe was ich für ein spiel am rende rauskommen soll..
Registriert: Do Jul 23, 2009 04:33 Beiträge: 157
Programmiersprache: Turbo Delphi Pro
Ähm.. also ein wenig Programmieren kannst du doch schon oder? Also normalerweise schreibt man Befehle in irgend einem Editor... entweder ein stinknormaler Texteditor, oder eine Entwicklungsumgebung, ist aber letztlich wurscht. Und dann lässt man dieses Programm kompilieren. Und entweder das geht, dann hat man ein (theoretisch) korrektes Programm eingegeben, oder der Compiler motzt, weil man irgendwas falsch geschrieben oder eine Bibliothek nicht eingebunden hat.
An welcher Stelle dieses Prozesses hakt es denn bei dir? Wir verstehen hier nicht ganz was du mit "Eingabefenster" meinst. Den Editor? Oder das laufende Programm? OpenGL-"Befehle" sind stinkormale Befehle, man gibt sie da ein wo man sonst auch andere Befehle eingibt (bei dir: die ganz normalen c++-Anweisungen).
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen. (Koreanisches Sprichwort)
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Vielleicht sollten wir hier mal grundlegend anfangen. Welche Programmierkenntnisse hast du? Hast du schon irgendwelche Programme geschrieben? (Jenseits von "Hallo Welt") Kennst du bereits Konzepte wie "Objektorientierte Programmierung"?
Das sind alles wichtige Punkte die wir vorher wissen müssen.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Große Projekte benötigen Zeit und es ist sogar egal ob das im 3D-/2D-Sektor ist oder ob es sich um Programme fern von OpenGL handelt. Als ich in OpenGL eingestiegen bin, hatte ich auch das Ziel, große Projekte zu entwickeln - bisher ist davon keins fertig (Entwicklungen alle längst abgebrochen). Fertig geworden sind jedoch die "kleineren", welche - wie sich bei der Entwicklung zeigte - auch schon ganz schön aufwendige und große Projekte waren.
Das Problem an der Stelle ist, dass man erst selbst herausfinden muss, was realisierbar ist und was nicht. Gerade bei großen Projekten ist es sinnvoll, das Projekt klein zu halten. Zum Beispiel beim Ballerspiel nur ein Waffenmodell, nur ein Spielmodus, nur ein Computergegner, nur ein Level (welches OHNE Levelformat auskommt, also das Level besteht aus ein paar Rechtecken auf denen man laufen kann, vielleicht noch eine Kugel drumherum damit man einen schöneren Hintergrund hat). Aber was auch immer man macht: Klein anfangen, ausbauen kann man oft, aber leider nicht immer, aber wenn man was kleines lauffähig hingekriegt hat, tut es nicht mehr so weh wenn man etwas nicht ausbauen kann.
Gerade wenn ich da Vegetation höre wird mir schlecht. Das hat nicht nur was mit Fähigkeiten zu tun sondern auch damit, wie viel Zeit Du bereit bist dafür zu investieren und wie oft Du Dich mit Neuprogrammierungen anfreunden kannst. (So etwas entwickelt man nur mit viel Erfahrung und (voraussehenden) Können in einem "Rutsch" durch.) Ich will Dir hier nicht den Mut nehmen, sondern nur anmerken, dass ein kleiner Start eigentlich sinnvoller wäre. Was für ein Projekt auch immer Du entwickeln willst, lass die aufwendigen Dinge vorerst weg, setze Dir auch erst einmal nicht zum Ziel sie je zu programmieren, konzentriere Dich auf den Kern. Wenn der Kern fertig ist, sieht man was überhaupt noch sinnvoll ist. Ich entwickle seit über einem Jahr an einem einfachen Brettspiel - ich kriege es nicht fertig (irgendwann hoffentlich schon...). Das Spiel war darauf ausgelegt schnell und einfach programmiert zu werden. Erst später sah ich wie aufwendig es wirklich ist.
Was ich jetzt als Kern bezeichnen würde: Bau Dir Dein Fenster erst mal zusammen. Das Stichwort SDL was hier schon genannt wurde ist da in meinen Augen eine ideale Anlaufstelle, da SDL sich einfach aufsetzen lässt und zudem die Portierbarkeit Deines Programmes verbessert - das mag jetzt komisch klingen ("Was soll ich denn mit Linux..."), warum ich Idiot das früher bei meinem Multimediaplayer genauso dachte frage ich mich heute, denn jetzt kann ich ein altes Programm schrittweise portieren - das dauert ewig. In meinen Augen ist Portierbarkeit mit einer Grafikkarte vergleichbar. Viele kaufen ein Billigteil, weil sie es diese (angeblich) nie brauchen, ich kaufe immer eine recht gute, um einfach die Möglichkeiten in der Zukunft zu haben. In der Hinsicht ist SDL schon ganz nett. Man kann damit recht schnell durchstarten, etwas nervig waren so Dinge wie Texturen laden usw. - mit etwas Arbeit aber alles kein so großes Problem. Fenster basteln ist zwar Bestandteil des Kerns an sich für mich, aber das ist total grundlegend, arbeite möglichst sauber, dann kannst Du diesen Teil des Kerns auf jedes weitere Projekt übertragen. Was Kern hauptsächlich meint sind die Grundzüge des Projekts. Um das Ballerspiel-Beispiel aufzugreifen: Lass die Effekte und so ein vorerst unnützes Zeug einfach weg, konzentriere Dich auf das Wesentliche. Aber gerade da muss man sich schon festlegen: Will man ein kleines Spiel schreiben, ist ein eigenes Levelformat mit Leveleditor usw. nicht notwendig, will man hingegen viele Karten haben unvermeidlich. (Und genau hier fragt man sich dann: Ist ein Ballerspiel mit vielen Levels für mich realisierbar ?) Vegetation kann natürlich alles meinen, soll ja nur ein Beispiel sein.
Kurz: Was genau ist wirklich relevant, also unumgänglich ? Was für Möglichkeiten gibt es überhaupt die relevanten Dinge umzusetzen (eventuell gibt es zu den jeweiligen Dingen schon fertige Codes, die man mit entsprechender Lizenz verwenden darf) ? Aus letzter Frage folgt: Sind die relevanten Dinge überhaupt umsetzbar ?
Vegetation und dann noch "großes Projekt" finde ich halt komisch. Willst Du nur eine Vegetation programmieren ? Glaube ich nicht so recht. Unterschätze die Vegetation nicht, denn die ist in meinen Augen ein Projekt für sich.
Früher habe ich so Leute wie mich gehasst, die hier so entmutigende Beiträge schrieben Glaube bloß einfach, dass Du die Ziele die Du hast nicht richtig angehst. Habe halt das Gefühl, dass Du Dir denkst "Wenn ich das alles hinbekommen habe, habe ich ein megageiles Programm, das ist total cool dann.", wobei das halt alles auf einem "hinbekommen" mit recht geringer Wahrscheinlichkeit basiert, "Wenn ich das Wesentliche hinbekommen habe, ist das schon sehr schön und dann kann ich mal schauen was sich draus machen lässt." ist erfolgsversprechender, da es umsetzbarer ist.
Am Ende liegt es an Dir und es wäre natürlich toll, wenn Du loslegst und in ein paar Monaten hier ein super Projekt steht. Der Punkt ist, dass ich es nur toll finde und hoffe, dass Du tolle Projekte hinkriegst. Also sehe diesen Beitrag hier nicht demotivierend, so ist er keinesfalls gemeint.
Mitglieder in diesem Forum: 0 Mitglieder und 14 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.