2012-09-10 9 views
5

Gibt es eine Programmiersprache, die explizit für Computergrafiken erstellt wurde? Ich weiß, dass normalerweise C und C++ die am häufigsten verwendeten PLs für Computergrafik sind, aber ich möchte wissen, ob es eine domänenspezifische Sprache für CG gibt.Computergrafik-Programmiersprache

+0

Ich würde auf ein Bein und sagen, dass C ist wahrscheinlich nicht eine der am häufigsten verwendeten Sprachen für Grafiken. – geoffspear

+1

Was versuchen Sie in Bezug auf Grafiken? Erstellen Sie GUIs? 3D-Modelle erstellen?Wenn Sie Hardware-beschleunigte Grafiken erstellen möchten, ist OpenGL (eine API für mehrere Programmiersprachen) ziemlich üblich. – 10flow

+4

Anders als vielleicht Schattierungssprachen (Cg, GLSL, HLSL, RSL, etc.) kann ich an nichts denken. Obwohl einige der genannten Sprachen auch in einem parallelen GPU-Berechnungskontext verwendet wurden, zählen sie vielleicht auch nicht. – Bart

Antwort

7

Renderman wurde speziell erstellt und wurde von Pixar und vielen anderen als Grafik-DSL verwendet. Sie beschreiben Objekte in der Szene, fügen ihnen Shader hinzu, fügen Lichtquellen hinzu, positionieren Kameras, beschreiben Projektionen usw. Alles in dieser C-ähnlichen Sprache aus den 1980er Jahren.

Es gibt Open-Source-Renderer, die es implementieren & können Sie es ausprobieren.

Jetzt, da ich daran denke, könnte vielleicht POVray ein anderes betrachtet werden.

+0

+1: Renderman ist das beste Beispiel, IMHO. Sogar [Mental Ray] (http://www.mentalimages.com/index.php), * die Premium-Rendering-Software für FX-Pipelines, verwendet immer noch eine Shader-Tree-Architektur. –

5

Die "turtle graphics" von Logo scheint zu qualifizieren.

+0

Aus Mangel an einer besseren Qualifikation in der Post .. aber ich bezweifle, dass es war, was das OP war ;-) –

+3

Auch oft vergessen ist [PostScript] (http://en.wikipedia.org/wiki/PostScript) , die 40 Jahre alt ist (1972-). –

+1

Ooh, Postskriptum. Ich erinnere mich, einen Postscript-Raytracer gedruckt zu haben ... wurde nicht wirklich geschätzt ... – Bart

1

Bereits in den Kommentaren erwähnt, aber ich kann eine Gelegenheit nicht überspringen, um die Tugenden Postscript zu preisen!

In den Worten von Bill Casselmann, Autor von Mathematical Illustrations,

Welche [Tool komplexe mathematische Grafiken zu produzieren] zu wählen, beinhaltet offenbar einen Kompromiss zwischen Einfachheit und Qualität, in denen die meisten Zeichner entscheiden, was auch immer ist wahrgenommen als Einfachheit. Die Wahrheit ist, dass der Kompromiss überflüssig ist; Sobald Sie eine kleine Anfangsinvestition unternommen haben, ist es in den meisten Fällen das Beste, ein Programm in der Grafik-Programmiersprache PostScript zu schreiben. Es gibt praktisch keine Begrenzung für die Qualität der Ausgabe eines PostScript-Programms, und wenn man Erfahrungen sammelt, nehmen die Schwierigkeiten beim Verwenden der Sprache schnell ab. Die scheinbare Komplexität, die mit der Erstellung von einfachen Zahlen durch Programmierung in PostScript verbunden ist, wie ich hoffe, ist weitgehend illusorisch. Und der Arbeitsaufwand für die Erstellung komplizierterer Zahlen wird in der Regel nicht mehr oder weniger als notwendig sein.

Ich verbrachte die letzten zwei Monate aufarbeiten postscript procset zu tun 3D drawing. Das ist richtig: 3D - von Scratch - in 2 Monaten mit einem Buch $ 10, einem Texteditor und Ghostscript.

Postscript-Grafikprogramme können problemlos in PDF und SVG konvertiert werden, um Ihre Kreationen mit der Welt ohne PostScript zu teilen.

1

MetaPost ist eine äußerst nützliche domänenspezifische Sprache zum Zeichnen mathematisch definierter Bilder. Obwohl es unabhängig verwendet werden kann, wird es häufig mit LaTeX oder TeX verwendet. Wie der Name schon sagt, ist es eine Hochsprache, die PostScript (und eigentlich auch PDF) produziert. Es wird normalerweise als zusätzliches Paket Ihrer LaTeX-Distribution installiert.

Hier finden Sie beeindruckende Beispiele, was MetaPost kann, normalerweise mit sehr kompaktem Code: MetaPost Examples.

Zum Schluss finden Sie im folgenden Link eine Fülle nützlicher Informationen zu Beispielen, Tutorials und den ersten Schritten: TUG MetaPost Page. Viel Glück!