Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: Cheebi am 26. July 2006, 03:19
-
Hi Leute,
im VESA Mode 118h werden Pixel durch 32Bit beschrieben:
Angenoommen 1. Pixel bei 0x5000 (einfach angemnommen... will nicht ne ellenlange Adresse, die ich aus PhysBaseAdr auslese, hinschreiben):
Pixel:
0x5000 = Blauwert
0x5001 = Grünwert
0x5002 = Rotwert
so und nun
0x5003 = ???
was geben die letzten 8bit der 32bit eines pixels an? in der VESA doc (VESA3.0) findet man nur infos zu den ersten drei Byte RGB.
Wäre nett, wenn ihr mir ein letztes mal bezüglich VESA helfen könntet.
Dieses Byte gibt aber definitiv nicht schon den Blauwert des nächsten Pixels an. Das habe ich getestet...
Cheebi
-
0x5000 = Blauwert
0x5001 = Grünwert
0x5002 = Rotwert
Stimmt imho nicht, die Reihenfolge kann bei jeder Grafikkarte anders sein und muss über irgendeine von den VBE Strukturen ausgelesen werden.
was geben die letzten 8bit der 32bit eines pixels an?
Nichts, betrachte es als padding, um einen 32bit align herzustellen. Falls du keinen align hättest müsste der Prozessor bei einem Schreibzugriff afaik 2x32bit lesen und danach 2x32bit schreiben.
Bei offscreen buffern (also zB bei Texturen/Surfaces unter directX) kann man das verbleibende Byte für Alpha (Transparenzeffekte) nutzen. Das ist aber nicht mit VBE möglich, da brauchst dann nen auf die grafikkarte zugeschnittenen Treiber.
-
da brauchst dann nen auf die grafikkarte zugeschnittenen Treiber.
Wieso auf die grafikkarte zugeschnitten
so :arrow: http://de.wikipedia.org/wiki/Alpha_Blending müste dass auch mit VESA gehen(man muss halt alles selbst berrechnen) :)
-
(man muss halt alles selbst berrechnen)
Is klar, aber es gibt eben keine Hardwareunterstützung. Das meinte ich damit. Ich kann auch mit VBE Dreiecke im 3d raum rendern, aber eben halt nur mit software und ohne hardwareunterstützung :roll:
-
(man muss halt alles selbst berrechnen)
Is klar, aber es gibt eben keine Hardwareunterstützung. Das meinte ich damit. Ich kann auch mit VBE Dreiecke im 3d raum rendern, aber eben halt nur mit software und ohne hardwareunterstützung :roll:
jo, dann hat die CPU was zu tun ... wobei das ganze der grafikkarten chip übernhemen könnte :)
-
na dann schreib mal nen Treiber zu nem Hardwareteil über den du unter normalen Umständen (kA ob sich Nvidia oder ATI auf NDAs mit Privatpersonnen einlassen) keine docs kriegst.
-
na dann schreib mal nen Treiber zu nem Hardwareteil über den du unter normalen Umständen (kA ob sich Nvidia oder ATI auf NDAs mit Privatpersonnen einlassen) keine docs kriegst.
Jo, habe ich mir beim durchlesen auch gedacht. ^^
bitmaster
-
leute habe paar books:
GPU Programming Guide - NVidia - 2004 <-- das habe ich bald
Nvidia Gpu Programming Guide Ver 2.2.0
ATI Developer Get the programming information for the coolest, most advanced graphics processors
-
Dir ist schon klar dass das nichts mit nem Treiber für ne Grafikkarte zu tun hat? :wink:
-
hä?
-
Die GPU Guides dokumentieren doch imho nur das Instruction set der GPU. Nicht aber wie ich die Grafikkarte dazu bring den modus zu wechseln, irgendwelche bitblt durchzuführen, irgendwelche Shader zu laden bzw. am untersten Ende den Aufbau des PCI Config space & der I/O Ports der graka.
-
GPU Programming Guide - NVidia - 2004 <-- das habe ich bald
Dauert der Download (http://developer.nvidia.com/object/gpu_programming_guide.html) so lange? ;)
Ich hab mal kurz reingeschaut und es sieht nicht so aus, als wäre es fürs OS-Dev zu gebrauchen.
-
Jo, habs mir auch angeschaut Wie gesagt, es wird nichts auf der Port I/O Ebene erklärt. Es stehen nur tips & tricksfür directx bzw. ogl anwendungen drin.