Pixelgenaue Darstellung
-
Hi,
ich rendere eine Textur mit dem Vertex-Format (D3DFVF_XYZRHW) direkt und gleich groß auf den Monitor, doch leider verändern sich die Pixel (durch Filterung). Ich habe nun per SetSamplerState die Flags D3DSAMP_MINFILTER und D3DSAMP_MIPFILTER auf D3DTEXF_NONE gesetzt - leider ohne Erfolg
Was kann ich tun, um die Pixel 1:1 zu rendern ?
Danke
M.T.
-
Dieses Problem hatte ich auch schon und ich konnte es nicht wirklich lösen.
Ein großes Problem ist, dass DirectX die Texturen vergrößert wenn die Höhe und Breite nich 2 hoch x beträgt.
Ich wollte Beispielsweise ein 640x480 Bitmap genauso anzeigen wie es in der Datei ist, D3D hat die Textur beim Laden aber auf 1024x512 skaliert.
Dann hab ich die Textur einfach neu gezeichnet und in dieser Größe gespeichert. Dazu noch den Filter auf BiLinear gestellt und das Ergebnis ist OK. Es sind in diesem Fall dann ja mehr Texel als Pixel vorhanden, was das ganze dann etwas schärfer aussehen lässt.
-
Ich habe eine Buchstaben-Textur (256x256), für meine Text-Engine und die Buchstaben sind relativ klein (16x16), werden aber in der selben Größe gerendert, wie sie auf der Textur sind.
Das Ergebnis ist grausam - wenn ihr wollt, poste ich mal n Bild ...M.T.
-
Muss evtl. noch der dritte Filter (der fürs Vergrössern!) gesetzt werden?
-
Dieses Dokument könnte Dir helfen: http://developer.nvidia.com/docs/IO/1328/ATT/D3D_Texel_to_Pixel_Mapping.pdf
-