Seite 1 von 1

Einfärben von Sprites/Texturen - DirectX (C++)

Verfasst: 27.03.2009, 21:52
von Xethoras
Mag mir jemand eben erklären, wie ich eine Textur einfärbe oder eine Farbe mit einer anderen ersetze? bzw. mir eine link geben, der zu einer Seite führt, auf dem besagtes erklärt wird?^^

Re: Einfärben von Sprites/Texturen - DirectX (C++)

Verfasst: 27.03.2009, 22:10
von kimmi
Gibt es bei D3D nicht die Moeglichkeit, die Plaette zu setzen? So ala IDirect3DDevice9::SetCurrentTexturePalette? Einfach mal die D3D-Dokumentation zu Rate ziehen. Ansonsten wuerde ich das wohl per Pixelshadeer machen. Da koennen dir die Anderen aber besser helfen.

Gruss Kimmi

Re: Einfärben von Sprites/Texturen - DirectX (C++)

Verfasst: 27.03.2009, 22:41
von Xethoras
hmm... Paletten hören sich net so gut an^^

Es geht um eine Bitmapfont, die möglich beliebig anfärbbar sein sollte... Da jedesmal ne Palette zu erstellen/laden scheint mir wenig optimal. In OGL isses ganz einfach >_>, aber hab kA wie ich dass in DX machen soll....

Re: Einfärben von Sprites/Texturen - DirectX (C++)

Verfasst: 27.03.2009, 22:48
von Aramis
Paletten und die FFP, mit der es ebenfalls ginge, sind veraltet, du solltest dich also in Shader einarbeiten. Dann hast du volle Flexibilität und willst nie wieder von ihnen weg. In der DX-Doku hat's ein paar Tutorials zu (Pixel)Shadern, ansonsten wirst du im Internet fündig :-)

Re: Einfärben von Sprites/Texturen - DirectX (C++)

Verfasst: 27.03.2009, 23:14
von Schrompf
Mach den Font weiß mit der Fontausprägung im Alphakanal. Also Alles weiß, die sichtbaren Pixel weiß mit Alpha, die unsichtbaren weiß ohne Alpha. Danach kannst Du ganz banal über die Vertexfarbe mit Modus Modulate (sprich: Multiplikation) jede beliebige Farbe erreichen

Re: Einfärben von Sprites/Texturen - DirectX (C++)

Verfasst: 28.03.2009, 01:14
von Xethoras
So weit, so logisch, bloß wie?^^ Wenn ich jetzt i-welche Vertices mit Texturen oder so hätte, wäre dass ja net so dass problem.. aber ich hab in dem fall halt nen sprite und keinen plan, welcher befehl meinen Wunscheffekt bewirkt :P

Re: Einfärben von Sprites/Texturen - DirectX (C++)

Verfasst: 28.03.2009, 11:10
von Aramis
Guck dir mal ID3DXSprite::Draw an. Da hat's sogar schon einen 'Color'-Parameter.

Re: Einfärben von Sprites/Texturen - DirectX (C++)

Verfasst: 28.03.2009, 22:14
von Xethoras
Ok, dass hätte ich vllt selber mal ausprobieren sollen >_>. :roll: Ich dachte, damit würde man eine Farbe bestimmen, die Transparent erscheinen soll...
Danke