Farben in DirectX



  • Achso! Dann müsste aber doch 32 bit schneller sein, als 16 bit, oder 😕



  • Auch wenn ich D3D mit 16Bit initialisiere?



  • Original erstellt von <greg>:
    die karte arbeitet praktisch immer mit 32 bits und wandelt es bei 16 bit nur später (den pixel) in 16 um

    Das wäre mir neu.

    Es gibt aber viele Karten die keinen echten 24bit-Modus unterstützen und mit xRGB-32bit arbeiten (x=Dummy-Bit).



  • Nur zur Korinthenkackerei (Verbesserung 😉 ):

    im 32bit Modus sollte das funktionieren Das "Problem" mit der unterschiedlichen Modi (656, x555, A555) besteht imho hauptsächlich im 16bit Modus, bin mir aber net sicher

    656 wär' ein sehr seltsamer Modus... 😃 - Du meinst sicher 565 :p

    Es gibt aber viele Karten die keinen echten 24bit-Modus unterstützen und mit xRGB-32bit arbeiten (x=Dummy-Bit).

    Und hier steht x wohl nicht für ein Dummy-Bit, sondern ein Dummy-Byte.
    Aber auf solch einer Karte (im Prinzip "alle") wird man keine Direct3D 24 Bit kreieren können... nada. Also gibt's da auch keinen "Dummy"-Mode...



  • Ups! Ja, ich meinte 565 🙄 😉



  • Die Frage der Farbumwandlung ist schon in der FAQ beantwortet!



  • Original erstellt von <Sgt. Nukem>:
    Und hier steht x wohl nicht für ein Dummy-Bit, sondern ein Dummy-Byte.
    Aber auf solch einer Karte (im Prinzip "alle") wird man keine Direct3D 24 Bit kreieren können... nada. Also gibt's da auch keinen "Dummy"-Mode...

    Stimmt - Typo.
    Das habe ich auch nirgends behauptet, ich habe nur <greg>s "die karte arbeitet praktisch immer mit 32 bits und wandelt es bei 16 bit nur später (den pixel) in 16 um" berichtigt.



  • Ich habe mir das mal in der FAQ angeschaut.

    Mit GetPixelFormat() (DirectX7) kann ich das Pixelformat ermitteln. OK

    Die Funktion in der FAQ, so wie ich das verstanden habe geht für alle Formate.

    Wie baut man den das Alpha ein 😕 😃

    Und was ist wenn es ein ARGB ist oder ein RGBA ?

    [ Dieser Beitrag wurde am 13.03.2003 um 20:15 Uhr von Netzwerk-Latenz editiert. ]



  • natürlich arbeiten die grafikkarten intern mit 32 bits! am ende werden die 32 bits dann umgewandelt ins ziel-pixelformat. wenn die mit 16 bits rechnen würden, wär das viel zu ungenau, z.b. beim alphablending!!



  • Mein PC arbeitet intern auch mit 64Bits, wäre doch viel zu ungenau mit 32! (zB beim Kompilieren)



  • das ist was ganz anderes.
    überleg doch mal was ich gesagt habe: es ist mit 16 bits wirklich zu ungenau. beim alpha blending, beim texture blending, beim nebel usw..
    ich weiß noch: als ich meine GeForce 2 gekauft hab (lange lange her) stand hinten auf dem karton drauf: die Grafikkarte arbeitet intern immer mit 32 Bits, dadurch wird eine verbesserte qualität gewährleistet oder so. wenn das da schon so war, ist es heute auch noch so



  • Arbeitet z.B. ein Intel-Prozessor auch nicht mit 32Bit. Auch wenn ich zwei int-Werte addiere?



  • noch ein "beweis": direct3d kann ja auf texturen rendern. was wäre denn, wenn du da eine textur nimmst mit dem format R3G3B2. denkst du wirklich, der würde dann intern nur mit 3 bzw. 2 bits rechnen?!?!?!? weißt du wie ungenau das wäre? und das stimmt ja nun wirklich, wirst du zugeben müssen!



  • Darf ich Bescheiden auf meine Frage hinweisen 😃



  • zur frage:
    doch es ist sicher, und zwar IMMER. darüber diskutieren wir doch grade.
    probiers aus: mit 16 bit und mit 32 bit.
    und lass es mit dem referenz rasterizer machen. der gibt ja vor wie die grafikkartentreiber arbeiten sollen und wenn es da klappt, dann ist es vorschrift, dass es klappt.
    weil ja die karten intern mit 32 bits arbeiten



  • ok. thx


Anmelden zum Antworten