D3D verfälscht Farben?
-
Hi.
Nach dem mir aufgefallen ist, dass mein Interface für mein Spiel nicht so aus sieht, wie ich es geplant habe, habe ich mal einige Tests gemacht. Dabei ist mir aufgefallen, dass die Farben beim Zeichnen einer Linie verfälscht werden.Links wird meine Maus mit GDI gezeichnet - die Farben sind genau so, wie ich sie haben möchte. Rechts ist das ganze mit D3D (ID3DXLine) gezeichnet - wie man sieht, sind die ganzen Farben viel heller.
Screen: http://www.abload.de/img/fail7o2n.png
So initialisiere ich die Linie:
LPD3DXLINE m_pLine; // ... D3DXCreateLine(this->m_pDevice, &this->m_pLine); this->m_pLine->SetAntialias(false); this->m_pLine->SetWidth(1.0f);
Zeichnen wird dann so erledigt:
D3DXVECTOR2 Coordinates[] = { D3DXVECTOR2(iX, iY), D3DXVECTOR2(iX2, iY2) }; this->m_pLine->Draw(Coordinates, 2, D3DCOLOR_ARGB(iAlpha, iRed, iGreen, iBlue));
Rufe ich meine Funktion nun auf, so wird die Farbe verfälscht - das Grau hat z.B. den RGB Wert 106, 106, 106 - das, was auf dem Bildschirm erscheint ist aber 172, 172, 172. Dieser Effekt tritt bei allen Farben außer Schwarz (0, 0, 0) und Weiß (255, 255, 255) auf.
Weiß jemand, woran das liegen könnte?
Gruß und Danke
-
ist vielleicht alphablending an und dein alpha nicht ganz weiss? srgb an?
-
Hi.
iAlpha ist 255, Alpha Blending habe ich nicht angeschaltet. Was meinst du mit SRGB?
D3DCOLOR_XRGB habe ich btw. auch schon versucht - selber Effekt.Gruß