www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik graphic Chip OpenGL


Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

unter welchen namen finde ich graphic chips die OpenGL oder Quarz etc. 
können? Kenn jmd. vielleicht einen solchen Baustein, den man über den 
normalen Daten- u. Addressbus ansteuern kann?

Torsten

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Graphikcontroller mit 3d-Hardware-Unterstützung? Ist auf so gut wie 
jeder PC-Graphikkarte drauf, nur sind die i.d.R. PCI-Devices oder noch 
schlimmer. Eventuell findest Du im Hardware-Antiquariat noch 
ISA-Graphikkarten mit 3d-Beschleunigungsfunktionen; ATI mach32 oder so 
(wobei ich mich an die nur als "local-bus"-Version erinnern kann). 
Bleibt noch die Frage der Dokumentation ...

Für Mobiltelephone und PDAs gibt es allerdings auch spezielle 
Graphikcontroller mit 3d-Unterstützung, mit welchen Interfaces die 
arbeiten, müsste untersucht werden. Ob man aber als Normalsterblicher 
überhaupt an entsprechende Bauteile rankommt?

Jedenfalls: OpenGL oder Quartz in Hardware wirst Du nicht finden, 
allenfalls Unterstützung für Grundfunktionen.

Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi Rufus,

vielen dank schon mal für deine antwort...

vielleicht zu meinem problem: ich hab ein Grafikdisplay welches ich auch 
mit eben Grafiken befüllen möchte etc., die sich auch bewegen. 
Programmieren werd ich das ganze in c++ (windows).

Auf die PDAs bin ich in meinen Überlegungen eben auch gestoßen... und 
die arbeiten meines wissens mit openGl (oder häufig zumindestens).

PCI ist ausgeschlossen, da mien µC sowas nicht unterstützt.

--> d.h. ich müsste mir selbst in c++ eigene routinen etc. schreiben, 
die die vorgänge dokumentieren (also die 3d-geschichten)... was würdest 
du mir empfehlen? 3d-Objekte sollen sich drehen können um die eigene 
Achse, größer, kleiner werden und über das ganze display sich bewegen 
können (mit stauchung etc.)




Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo soll Dein Programm laufen?

> Programmieren werd ich das ganze in c++ (windows).

Also unter Windows?

> PCI ist ausgeschlossen, da mien µC sowas nicht unterstützt.

Oder doch auf "Deinem" µC?

> ich müsste mir selbst in c++ eigene routinen etc. schreiben,
> die die vorgänge dokumentieren (also die 3d-geschichten)...

Du willst das alles auf einem µC machen? Was hast Du Dir denn da für 
einen ausgesucht?

Prinzipiell gibt es 3d-Graphiklibraries im Quelltext, die sich auf 
verschiedene Hardware portieren lassen; selbst etwas OpenGL-ähnliches 
unter dem Namen Mesa.

Nur setzt das schon etwas mehr Rechenleistung und vor allem auch 
Speicher voraus, als so ein üblicher µC so zur Verfügung stehen hat.

Was genau hast Du womit vor?

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

OpenGL (und damit die MESA) macht ohne FPU keinen Sinn da Koordinaten 
sinnvollerweise immer als float übergeben werden. OpenGLES könnte eher 
Sinn machen. Da existiert auch eine OSS Implementierung -> 
http://ogl-es.sourceforge.net/

Das Projekt ist aber scheinbar nicht mehr wirklich aktiv. Evtl. lohnt 
auch ein Blick in die 3D Engines von id Software für Doom/Quake. Die 
sollten eigentlich ganz ordentliche Performance zeigen (Quake lief auf 
einem P90 ohne 3D Karte in 1/4 VGA ganz ordentlich).

Aber erstmal: Was hast du für einen µC?

Matthias

Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das programm läuft danach auf meinem µC - ohne windows...

als µC hab ich mir den ARM AT91SAM7SE32 ausgesucht... speicher etc. ist 
alles extern an den datenbus angegliedert... als controller für den tft 
hab ich den s1d13531 mit 8MB SDRAM... darin befinden sich alle bilddaten 
für das display.

es sollen keine großartigen sachen dabei rauskommen... z.B. ein paar 
buttons, die einen 3d-effekt haben und sich drehen lassen können. 
Einzelne Windows (insgesamt 5 stück) die man gegeneinander verschieben 
kann und somit auch vergrößern u. verkleinern lassen kann...

unter welchen namen laufen denn solche grafik-bibliotheken?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wird spaßig, 3d-Berechnungen auf einem Prozessor ohne FPU. Aber 
immerhin, ein 32-Bit-Prozessor.

Die Graphikbibliotheken werden i.d.R. "3d-engine" genannt.

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

kann man machen -> fix point. OpenGLES definiert auch eine Schnittstelle 
mit 16.16 fix point. Wenn sich nur ein Button drehen soll ist eine 3D 
"engine" auch nicht nötig. Aber selbst das skalieren von Grafiken ist in 
Software für den Prozessor eine heftige Aufgabe wenns auch noch 
ordentlich aussehen soll. Ein ARM7 ist eben nicht wirklich für 
Aqua/Vista Effekte geeignet.

Matthias

Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und einfache sachen, wie fenster verschieben und vergrößern - müsste 
doch auch ohne floating-point-berechnung möglich sein?

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

verschieben ja. Vergrößern auch wird aber schon schwierig wenn es kein 
geradzahliger Faktor ist da dann entweder interpoliert werden muss oder 
das ganze, ähm, merkwürdig aussieht.

Matthias

Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@matthias,

das mit den fix-points klingt gut...

gibt es lcd controller die in diesem bereich (fenster verschieben) dem 
µC ansich einiges abnehmen können... der s1d13531 besitzt auch zwei 
solche funktionen wie rotation, mirror sowie eine kleine 
2d-beschleunigung... gibt es sowas auch mit 3d-effekten?

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ich kann kein Datenblatt zum s1d13531 finden. Meinst du den S1D13513? 
Der hat fürs verschieben von Fenstern eine Beschleunigung (BitBLT) 
eingebaut. Dann kann das Ding noch mit Sprites umgehen. Zum skalieren 
von Grafiken steckt da aber nichts drin.

Matthias

Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja genau den mein ich...


meine frage war auch ob es einen anderen lcd controller gibt, der schon 
3d-geschichten unterstützt.

Autor: rage (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja soetwas gibt es, ich versuche mich gerade am LIME MB86276, da habe 
ich auch ein Lieferant gefunden, welcher ein Demoboard im Angebot hat. 
Technische Daten Videoinput, 2D, 3D, 6 Layer, 8Bit Alphakanal, 16/32 Bit 
Interface.

Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi rage,

hab mir grad das datasheet angeschaut... mit welchem µC arbeitest du?

Autor: Claude (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da wird der kleine ARM7 aber ganz schön ins Schwitzen kommen :-) Ich 
bastel gerade an was ähnlichem mit einem FPGA Softcore rum. Für die 
Animation die Du beschreibst kannst Du mal einen Blick auf die "Hot Dog 
Engine" vom iPOD uClinux werfen. Für Fixed Point OpenGL such mal in 
Google nach " libfixgl" , "gpu940" , "tinygl" und "picogl". TinyGL und 
die libfixgl hab ich auf meinem Softcore laufen, aber sogar mit 100MHz 
Core Takt und über 200Mbyte/sec Speicherbandbreite kommt nicht mehr als 
eine Dia Show dabei raus.
Grafikbeschleuniger in Hardware kenne ich noch den Intel 2700G und die 
älternen Fujitsu Controller (Carmine,Cremson,..).

Wieviel Mbyte/sec schafft der AT91SAM7SE32 eigentlich am EBI ?

Autor: kai scheddin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wo bekommst du den graphic accelerator her??
grüüße

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es wirklich nur um eye-candy geht, könnte eine simple, 
vorgerenderte Animation auch ganz gut funktionieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.