Forum: Mikrocontroller und Digitale Elektronik graphic Chip OpenGL


von Torsten (Gast)


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

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Torsten (Gast)


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.)




von Rufus Τ. F. (rufus) Benutzerseite


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?

von Μαtthias W. (matthias) Benutzerseite


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

von Torsten (Gast)


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?

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Μαtthias W. (matthias) Benutzerseite


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

von Torsten (Gast)


Lesenswert?

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

von Μαtthias W. (matthias) Benutzerseite


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

von Torsten (Gast)


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?

von Μαtthias W. (matthias) Benutzerseite


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

von Torsten (Gast)


Lesenswert?

ja genau den mein ich...


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

von rage (Gast)


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.

von Torsten (Gast)


Lesenswert?

hi rage,

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

von Claude (Gast)


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 ?

von kai scheddin (Gast)


Lesenswert?

wo bekommst du den graphic accelerator her??
grüüße

von Frank (Gast)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.