ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4439048
Jetzt (Chat):
6 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

ZFX
Coding-Foren
DirectX API
(gelöst) [D3D10] Konvertierung zu/von _SNORM
Normal
AutorThema
Krishty Offline
ZFX'ler


Registriert seit:
01.02.2004

Nordrhein-Westfalen
342173470
(gelöst) [D3D10] Konvertierung zu/von _SNORMNach oben.
Hi,

Wie genau kodiert und dekodiert D3D ganzzahlige, normalisierte Formate (*_SNORM)?

DXGI_FORMAT_R8_SNORM hat ja z.B. 256 Zustände und kann als signed char behandelt werden. Dabei gibt es allerdings einen negativen Wert mehr als positive (-128 zu +127).

Wird der Nullpunkt um 0.5 nach unten verschoben oder werden positive Werte weniger stark skaliert als negative? Oder wird -128 gar zu -127 geclamped?

Gruß, Ky

2 Mal gendert, zuletzt am 15.01.2009, 19:25:56 Uhr von Krishty.
14.01.2009, 18:42:58 Uhr
Richard Schubert Offline
DX-Berater


Registriert seit:
05.12.2002

Berlin
85557876 rs@directx9.de
Re: [D3D10] Konvertierung zu/von _SNORMNach oben.
bei snorm wird der wert im shader in den wertebereich von -1.0 bis 1.0 geschoben. Dabei ergibt sich dann aus dem wertebereich ein epsilon im negativen bereich von -0,0078125 (-128 bis -1) und im positiven Bereich 0,007874 (1 bis 127).
Die genauigkeit zwischen positiven und negativen zahlen is daher ein wenig unterschiedlich.
15.01.2009, 06:36:54 Uhr
DirectX 10
Jörg Offline
ZFX'ler


Registriert seit:
03.12.2005

Nordrhein-Westfalen
133916438
Re: [D3D10] Konvertierung zu/von _SNORMNach oben.
Komisch, aber die Doku sagt aber was anderes. -128 und -127 werden beide auf -1.0f abgebildet.
Das sollte auch beim REF_DEVICE so sein. Ob sich die Hardware auch daran haelt...mhmmm...da muss man wohl ausprobieren.



15.01.2009, 09:48:52 Uhr
Richard Schubert Offline
DX-Berater


Registriert seit:
05.12.2002

Berlin
85557876 rs@directx9.de
Re: [D3D10] Konvertierung zu/von _SNORMNach oben.
nagut das würde sogar sinn machen, da dies einem fixed point format entsprechen würde welches sich einfacher in das floating point format konvertieren ließe. da sagen die IHV sicher nicht nein zu solch einer spezifikation. wobei die spezialbehandlung von -128 natürlich schon ein wenig unsinnig ist.

15.01.2009, 10:47:02 Uhr
DirectX 10
Krishty Offline
ZFX'ler


Registriert seit:
01.02.2004

Nordrhein-Westfalen
342173470
Re: [D3D10] Konvertierung zu/von _SNORMNach oben.
Erstmal danke für die Antworten

[quote=Jörg]Komisch, aber die Doku sagt aber was anderes.[/quote]Kannst du mir sagen, wo du das in der Doku gefunden hast? Ich scheine nämlich immer am falschen Ort zu suchen

Klingt auch plausibel, da eine einheitliche Skalierung einfacher und schneller ist als zwischen positiven und negativen Werten zu unterscheiden, zumal das Clamping ja quasi nichts kostet.
15.01.2009, 15:56:58 Uhr
Richard Schubert Offline
DX-Berater


Registriert seit:
05.12.2002

Berlin
85557876 rs@directx9.de
Re: [D3D10] Konvertierung zu/von _SNORMNach oben.
hatte es auch erst nicht gefunden aber hier wird es doch tatsächlich beschrieben: http://msdn.microsoft.com/en-us/library/bb173059(VS.85).aspx
15.01.2009, 19:07:47 Uhr
DirectX 10
Krishty Offline
ZFX'ler


Registriert seit:
01.02.2004

Nordrhein-Westfalen
342173470
Re: [D3D10] Konvertierung zu/von _SNORMNach oben.
Dankeschön
15.01.2009, 19:25:47 Uhr
Normal


ZFX Community Software, Version 0.9.1
Copyright 2002-2003 by Steffen Engel