Forum: PC-Programmierung Zugiff auf die Grafikkarte


von Matheguru L. (matheguru)


Lesenswert?

Hallo ich habe eine Frage.
Ich habe die Grafikkarte: Intel(R) 82852/82855 GM/GME Graphics 
Controller
Und möchte in einem C++ Konsolen Programm, etwas auf den Bildschirm 
zeichnen. Will aber nicht mit WinApi progn...
Hat jemand eine Lösung für mich?

von Der F. (der9gast)


Lesenswert?

Direkt in den Frambuffer schreiben?

mfg

von Matheguru L. (matheguru)


Lesenswert?

Entschuldigung aber keine Ahnung was das ist! Habe noch nie Zugriff auf 
irgendwelche Hardware gemacht!

von Der F. (der9gast)


Lesenswert?

Matheguru L. wrote:
> Entschuldigung aber keine Ahnung was das ist! Habe noch nie Zugriff auf
> irgendwelche Hardware gemacht!

Ist mir so eingefallen.. .-) ich mache das auch net, aber wenn ich mich 
net irre, dann machen das setop boxen so (dbox2). Konsole meinst doch 
ohne XServer? Dort ein Bild zeichnen, k.a., aber man kann vielleicht 
direkt in den Framebuffer deiner Graka schreiben..

http://de.wikipedia.org/wiki/Framebuffer

mfg

von Matheguru L. (matheguru)


Lesenswert?

danke ich schau mal nach

von Der F. (der9gast)


Lesenswert?

Matheguru L. wrote:
> danke ich schau mal nach

schau mal hier:
http://www.linuxwiki.de/FrameBuffer

mfg

von Matheguru L. (matheguru)


Lesenswert?

Das ist ja gut, aber ich arbeite unter Windows!

von Matheguru L. (matheguru)


Lesenswert?

Jetz weis ich was du mit X_Server meinst, das ist mir egal ob ich den 
benutze mit konsole meinte ich ein Fenster mit schwarzem background und 
weißer Schrift. Und da will ich auch sachen reinzeichen hallt ohne die 
winapi zu verwenen also die gdi von windows!

von Der F. (der9gast)


Lesenswert?

Matheguru L. wrote:
> Jetz weis ich was du mit X_Server meinst, das ist mir egal ob ich den
> benutze mit konsole meinte ich ein Fenster mit schwarzem background und
> weißer Schrift. Und da will ich auch sachen reinzeichen hallt ohne die
> winapi zu verwenen also die gdi von windows!

öh.. wie komm ich den auf linux? sorry, da habe ich einen beitrag 
durcheinander gebracht :-) dann kann der admin den blödsin von mir 
löschen.

sorry nochmals

*peinlich, aber nu kennst den vorteil, warum linux in vielen kleinen 
systemchen steckt  :-=)

von Matheguru L. (matheguru)


Lesenswert?

Aber wie löse ich mein Problem?
Ich fasse noch mal zusammen:
-ich will in einem WindowsKonsolenProgramm mit C++ Grafik über die 
Grafikkarte ausgeben und habe keine Ahnung
-ich will aber nicht die Windows GDI verwenden
-also so Grafik erzeugen, wie es die früheren DOS-Programmierer gemacht 
haben
-ich will wissen was X-Server ist
Das müsste genügen, jetz nur noch antworten danke!

von Der F. (der9gast)


Lesenswert?

Matheguru L. wrote:

> -ich will wissen was X-Server ist

Grafischer Basis für die Linuxoberfläche.. vergiss was ich geschrieben 
habe. Passt alles nicht für dein Problem! *blitzdings

von Louis Cypher (Gast)


Lesenswert?

>Matheguru L
>-ich will in einem WindowsKonsolenProgramm mit C++ Grafik über die
>Grafikkarte ausgeben und habe keine Ahnung
>-ich will aber nicht die Windows GDI verwenden

Erklär doch mal nachvollziehbar, warum du nicht die Winapi verwenden 
willst?

von Sven P. (Gast)


Lesenswert?

Dann benutz halt die SDL-Bibliothek, ist auch dazu noch 
plattformunabhängig.

von Matheguru L. (matheguru)


Lesenswert?

Weil ich lernen möchte wie Hardware zugriffe funktionieren und ich auch 
wissen möchte wie es die früher gemacht haben außerdem ist die gdi zu 
langsam

von Louis Cypher (Gast)


Lesenswert?

>Weil ich lernen möchte wie Hardware zugriffe funktionieren und ich auch
>wissen möchte wie es die früher gemacht haben außerdem ist die gdi zu
>langsam
Dann solltest du am Besten unter Dos (oder Linux) arbeiten. Mit Windows 
ist das zwar auch möglich, aber nicht vorteilhaft.

von Tom (Gast)


Lesenswert?

@Mathe..,

wenn du wissen willst wie es früher gemacht worden ist, dann mache es 
auch wie früher. Und zwar ganz einfach unter DOS. Nix Dosbox, nix 
Windows.

Tom

von Matheguru L. (matheguru)


Lesenswert?

Ok andere Frage gdi ist zu langsam für mein Projekt deswegen wollte ich 
direkt auf die grafikkarte zugriff nehmen!
In meinem Projekt will ich ein Fenster mit transparentem Rahmen erzeugen 
wie bei Windows Vista aber die gdi ist zu langsam für meine Algorithmen!
Kann mir jetzt jemand vieleicht helfen?

von Arc N. (arc)


Lesenswert?

Matheguru L. wrote:
> Ok andere Frage gdi ist zu langsam für mein Projekt deswegen wollte ich
> direkt auf die grafikkarte zugriff nehmen!
> In meinem Projekt will ich ein Fenster mit transparentem Rahmen erzeugen
> wie bei Windows Vista aber die gdi ist zu langsam für meine Algorithmen!

Das hängt auch stark von den verwendeten Methoden ab.

> Kann mir jetzt jemand vieleicht helfen?

http://msdn.microsoft.com/en-us/library/ms997507.aspx

Zur SDL: Unter Win32 gibt's zwei Varianten eine die GDI zur 
Grafikausgabe benutzt, die andere DirectX...

von Frank (Gast)


Lesenswert?

>gdi ist zu langsam für mein Projekt deswegen wollte ich
>direkt auf die grafikkarte zugriff nehmen!

Dann nimm DirectX oder Quicktime (gibts auch für Windows), die sind für 
Alles, wofür GDI zu langsam ist (z.B. Multimedia), quasi als Bypass, 
geschaffen worden.
Aber verschätz' dich da nicht, das Programmieren mit deren APIs ist um 
keinen Deut einfacher ...

Ein direkter Zugriff auf den Grafikspeicher ist eine Aufgabe, mit der du 
nicht froh werden wirst. Je nach Karte, Auflösung, Farbtiefe und 
Speicherbestückung liegen die Bits, die zu einem Pixel auf dem Screen 
gehören irgendwo schön verteilt im Ardessraum. Da müsstest du von gnz 
unten an primitive Grafikkommandos schreiben mit nach oben wachsender 
Abstaktion ... ich glaube nicht, dass die am Ende wirklich schneller 
sind als die, die dir die API bereits bietet.

Frank

von Matheguru L. (matheguru)


Lesenswert?

Wie bekomme ich den DirectX also ich benutze den GCC Cmpiler mit der 
Bloodshed IDE DevC++ !

von Εrnst B. (ernst)


Lesenswert?

Der GCC den du verwendest ist vermutlich der Mingw, oder?

Einfach mal in http://www.gidf.de/ "Mingw Directx" eingeben, und die 
ersten paar Links anschauen.

von Matheguru L. (matheguru)


Lesenswert?

Da sind nur Seiten in Englisch gibt es auch was Deutsches zur benutzung 
von DirectX mit DevC++

von Manuel (Gast)


Lesenswert?

In diesem Bereich würde ich Englisch als Grundvoraussetzung sehen. 
Vielleicht solltest du hier anfangen...

von Outi O. (outlaw)


Lesenswert?

Ein direkter Zugriff auf die Grafikkarte ist unter Windows XP oder Vista 
nicht möglich, daher bleibt Dir nur DirectX und IMHO OpenGL ....

von Manuel (Gast)


Lesenswert?

Ist so natürlich auch nicht ganz richtig. Er kann ja seinen eigenen 
Grafikkartentreiber schreiben... Aber aus dem User-Mode ist das 
natürlich tatsächlich nicht möglich.

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.