Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Welche Programmiersprache für grafik Programmierung?? (https://www.delphipraxis.net/89860-welche-programmiersprache-fuer-grafik-programmierung.html)

james300 7. Apr 2007 10:00


Welche Programmiersprache für grafik Programmierung??
 
Hallo zusammen

Erst mal Wünsche ich euch schöne Ostern und noch ein schönes Wochenende...

Ich habe davor mit QBasic programmiert und möchte jetzt umsteigen??

Also meine Frage wäre ich möchte gerne mal grafiken programmieren oder die man auch als Bildschirmschoner hernehmen kann

Welche programmiersprache ist für den Anfang gut, und das man es leicht lernen kann also ich habe delphi (Version 5.0) Vollversion... Und es gibt ja noch mehr Programmiersprachen, die man im Internet herunterladen kann, Aber Basic ist schon mal gut oder nicht

Meine andere Frage wäre, wer kennt die Programmiersprachen (Kbasic und freebasic?) wer hat es schon benutzt, was kann man so machen sind die Programmiersprachen gut für den Anfang?

Also und noch was ich habe Pspad und da kann man ja auch mit Visual Basic programmieren aber wo findet man die komponenten

Ich habe schon die Kbasic schon installiert aber ich kann es nicht starten weil wie eine Meldung kommt

Wer hat Erfahrung, wer kennt sich damit aus, wie fängt ihr an?
Und so weiter...

James300
Habt Ihr noch Fragen

Nils_13 7. Apr 2007 10:09

Re: Welche Programmiersprache für grafik Programmierung??
 
Es ist immer sehr schwer auf solche Fragen in einem Sprachenspezifischen Forum antworten zu geben. QBasic kann keine sonderlich guten Grafiken erstellen, das zählt für viele Basics (abgesehen von den Spiele-basic-sprachen). Du hast mindestens 2 gute Möglichkeiten mit der Grafikprogrammierungs anzufangen. Die etwas schwierigere (wegen den Headern): fang mit DirectX oder OpenGL unter Delphi an. Die einfachere: Fang mit C++ an, da ist auch alles kostenlos (solange du den GNU GCC benutzt, falls dir das nichts sagt: GCC ist ein Compiler für C und C++, der in IDEs, wie z.B. CodeBlocks oder Dev-Cpp vorzufinden ist). In beiden fällen benötigst du gute Tutorials oder sogar ein Buch.

DGL-luke 7. Apr 2007 10:11

Re: Welche Programmiersprache für grafik Programmierung??
 
Hallo,

"Grafik programmieren" ist ja mal nicht so besonders konkret. Willst du Spiele programmieren? In 3d?

Natürlich ist es nur Geschmackssache - aber ich würd sowas sowieso nicht mit einem Basic-Dialekt machen. Delphi ist dafür genau richtig. Turbo Delphi Explorer Edition bekommst du kostenlos.

Und du findest auch viele Einsteigertutorials im Internet.

Ich bin übrigens auch von QBasic zu Delphi gekommen ;-)

mkinzler 7. Apr 2007 10:11

Re: Welche Programmiersprache für grafik Programmierung??
 
Warum soll das in Delphi schwerer sein? Es gibt doch Wrapper für DX und OGL.

Mao 7. Apr 2007 10:21

Re: Welche Programmiersprache für grafik Programmierung??
 
Hi. :)

FreeBasic (in der Szene oft nur FB genannt) ist eine leistungsfähige Sprache, die zwar größtenteils Code-kompatibel zu QB bleibt (wenn man es denn so wünscht), aber Geschwindigkeitsmäßig oder von Beschränkungen her nichts mehr mit QB zu tun hat.
Mit der aktuellen testing (0.17) wurde nun auch OO eingeführt, die WinAPI und die meisten verfügbaren Bibliotheken können verwendet werden. Es ist auch möglich, DLL's mit FB zu laden/verwenden und mit FB zu erstellen. Und die mit integrierte fbgfxlib erlaubt auch Grafiken, die sich prinzipiell nur durch den Arbeitsspeicher beschränken. Außerdem bietet FB nun auch einen Inline-Assembler.
FB erzeugt direkt Assembler-Code (den man, wenn man es möchte, sich später auch noch anschauen kann), der an den AS86 weitergeleitet wird. Dadurch entstehen ausführbare Programme, die manchmal die gleiche Geschwindigkeit aufweisen, wie mit C(++) geschrieben. Wobei das natürlich auch wieder vom entsprechenden Compiler abhängt. ^^
Bisher gibt es FB-Versionen für Windows, Linux und DOS, sowie einen Crosscompiler, der für die XBox compilieren kann.

Man könnte meinen, dass FB eine moderne Sprache ist, mit der man auch größere Projekte realisieren kann. :)

Projektwebsite: http://www.freebasic.net
Offizielle deutsche Site: http://www.freebasic.de
Offizielles deutsches Board: http://www.freebasic-forum.de bzw. forum.qbasic.at (Dual-Board: QB & FB; seit gestern ohne Ankündigung offline)
IRC-Channel: FreeNode (irc.freenode.net), Channel #freebasic.de

/edit: Natürlich lässt sich auch OpenGL und DirectX nutzen.

Greets,
Mao

Nils_13 7. Apr 2007 11:01

Re: Welche Programmiersprache für grafik Programmierung??
 
Zitat:

Zitat von mkinzler
Warum soll das in Delphi schwerer sein? Es gibt doch Wrapper für DX und OGL.

Hast du schonmal in Cpp OGL programmiert ? Es ist einfach besser, da man die Dateien einfach bekommt und niemals große Probleme damit hat. Bei den Delphiogltutorials hat jeder Autor seine eigenen Header..... Wrapper sind meistens schlechter als das Original.

Hador 7. Apr 2007 11:02

Re: Welche Programmiersprache für grafik Programmierung??
 
Ich habe mir gerade mal die (de) Homepage von FreeBasic angesehen.
Ich denke jedoch, dass es damit ggf. etwas schwieriger wird als bspw. mit Delphi oder C(++), da die Sprache wesentlich weniger verbreitet ist und es weniger Komponenten bzw. vorgefertigten Code gibt.

mkinzler 7. Apr 2007 11:07

Re: Welche Programmiersprache für grafik Programmierung??
 
Da er schon Erfahrung in Basic hat, wird er sich hiermit vielleicht leichter tun als mit Basic.
http://www.antonis.de/glbasic/index.htm
Wenn Basic würden sich auch abstraktere, funktionsstärkere Libraries wie z.B
http://glscene.org/
anstatt den Lowlevel-Apis von OpenGL oder DirectX anbieten.

Mao 7. Apr 2007 11:16

Re: Welche Programmiersprache für grafik Programmierung??
 
@Hador:
Leider ist das Board immer noch down, sonst könnt ich dir etwas anderes beweisen. :)
Öhm...aber ich hab mir noch Code von einer Lissajous-Figur rumliegen, nicht von mir, aber klein.
Code:
Screen 20, 8

Dim As Double d, i, x, y

For d=4 To 21 Step .01 
  For i=0 To 6.3 Step .001 
    x=Sin(i)*460 
    y=Cos(i*30+d)*1000/(d*2+.1)+Sin(i+1.6)*200 
    PSet(500+x, 350+y), 3*d+1 
  Next i
Next d

Sleep
Die meisten Codes befinden sich halt leider auf'm Board. Und was beim Lernen recht zuträglich ist, dass die meisten Projekte unter der GPL veröffentlicht werden.
Des Weiteren gibt es schon einige (auch deutsche) Tutorials zu verschiedenen Themen, u.a. auch direkt OpenGL. :)

@mkinzler:
Bei FreeBasic hat er jedoch den Vorteil einer kontinuierlichen Weiterentwicklung und einer großen, aktiven Community.

Der_Unwissende 7. Apr 2007 11:49

Re: Welche Programmiersprache für grafik Programmierung??
 
@James Hi und erstmal Herzlich Willkommen in der DP :dp:

Wie Du hier schon siehst, gibt es sehr viele verschiedene Techniken/Sprachen/Möglichkeiten, die für Dich in Frage kommen. Wichtig ist (was auch schon gesagt wurde!), dass es nicht die eine Sprache/Komponente gibt, die alles toll macht und der Rest ist Mist. Das geht ja schon aus der Anzahl der unterschiedlichen Vorlieben vor.

An sich ist die entscheidende Frage wirklich, was Du eigentlich machen möchtest. Für 2D und 3D gibt es vielleicht unterschiedliche Empfehlungen, was die Komponenten angeht.
An sich gibt es hier gleich mehrere Dinge, zwischen den Du wählen kannst. An erster Stelle natürlich die Programmiersprache. Hier findest Du in der Regel imperative oder Objekt orientierte Sprachen, die sich kaum in der eigentlichen Herangehensweise unterscheiden. Die wichtigsten Unterschiede liegen in der Syntax und in den verfügbaren Modulen/Paketen/Komponenten/Bibliotheken (allgemein Erweiterungen).

Je verbreiteter die Sprache ist, desto wahrscheinlicher findest Du auch unzählige Erweiterungen, Foren usw. Das sagt aber nichts über die Sprache an sich aus! Der klare Fokus sollte für Dich darauf liegen, wie gut Du denkst mit dem Angebotenen klar zu kommen. So gibt es sicherlich Leute, die werden Dir erzählen wie toll Haskell für die Grafikprogrammierung ist, da Du keine Seiteneffekte hast und Lazy-Evaluation für das Rendern perfekt ist, ... Wenn Du aber mit funktionaler Programmierung nichts anfangen kannst, Dich Monaden nur verwirren und Dir einfach Zustände fehlen (gut, gibt es dank Monaden, aber auch egal!), dann wirst Du vielleicht wissen dass die Sprache toll ist, es aber nie nachempfinden.
Nur in einer Sprache, mit der Du klar kommst kannst Du überhaupt sinnvoll arbeiten. Ob die Arbeit dann ein paar Zeilen länger ist oder weniger elegant, solange das rauskommt was Du willst ist das egal!

Zusätzlich zur Sprache kannst Du dann noch zwischen der Grafikschnittstelle wählen. Grafikschnittstellen abstrahieren von der eigentlichen Hardware und ihrer Ansteuerung. Hier wären für den 3D-Bereich auf jeden Fall OpenGL und DirectX zu nennen, für 2D kommen diese Schnittstellen auch in Frage, zusätzlich aber auch GDI(+), GTK(+/#), ...
Ich werde hier nicht alle aufzählen! OpenGL und DirectX setzen immer entsprechende Treiber vorraus. Wird ein Feature nicht unterstützt, wird es per Software gerendert (und das ist nicht sehr perfomant). Moderne Grafikkarten sollten beides Unterstützen, in welcher Version ist eine andere Sache. So wirst Du im Moment kaum eine Karte finden, die alle Feature von DirectX 10 unterstützt, dass Du diese brauchst zweifel ich aber auch an!
Bei OpenGL hast Du den Vorteil, dass diese Schnittstelle auch unter anderen Betriebssystemen häufig genutzt wird. Allerdings wird die von Microsoft unter Vista nicht mehr so ganz gerne verwendet. Greift ein Programm auf OpenGL zu, so muss (soweit aktiviert) die Glass-Oberfläche (oder wie die heißt) deaktiviert werden (passiert afaik automatisch, ist aber natürlich sichtbar).
GDI ist die "normale" Windows-Schnittstelle, sie unterstützt nur einfache 2D Funktionen, GTK ist ein Toolkit, dass z.B. auch für Gimp verwendet wird. Auch dieses bietet (afaik) nur 2D Funktionen an (bin ich aber null sicher) und ist zudem auch für andere Betriebssysteme (z.B. Linux) verfügbar. Für GTK muss jedoch auch das GTK-Toolkit installiert sein (entspricht einer Laufzeitumgebung).

Je nachdem was Du machen möchtest kann jede dieser Schnittstellen (und es gibt sicherlich noch viele weitere) in Frage kommen und besser oder schlechter geeignet sein. Hier müsstest Du erst die Frage beantworten, wo es hingehen soll, damit man Dir weiterhelfen kann.

Hast Du Dich für eine Schnittstelle und Programmiersprache entschieden, so wäre der nächste Schritt i.d.R., dass Du Dir die Kapselungen anschaust. Häufig findest Du zu einer Schnittstelle fertige Kapselungen, die Dir besitmmte Aufgaben einfach abnehmen. Da musst Du Dich dann nicht mehr selbst um alles kümmern, sondern greifst einfach auf fertige Lösungen zurück. Natürlich bindest Du Dich mit der Kapselung und wirst ggf. nicht mehr alles aus einer Karte rausholen, was möglich ist, aber die wenigsten Menschen schreiben noch direkt in Assembler sondern verwenden eine Hochsprache. Selbes Problem, man kann einfach komplexe Lösungen leichter aus solchen fertigen Bausteinen zusammensetzen (weniger mögliche Fehler, ggf. Optimierungen die man selbst gar nicht geschafft hätte usw).

Gruß Der Unwissende


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:48 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz