Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Beni5 Super JLI'ler
Alter: 36 Anmeldedatum: 12.11.2003 Beiträge: 310 Wohnort: Switzerland Medaillen: Keine
|
Verfasst am: 25.07.2004, 23:28 Titel: In Normalmap umwandeln |
|
|
Hallo!
Ich habe jetzt mal probiert eine Textur( Heightmap) umzuwandeln in eine Normalmap und diese auf eine andere Texture zu speichern. Ich benutze folgende Funktion:
Code: |
D3DXComputeNormalMap(m_lpNormalMapT,
m_lpHeightMapT,
0,
0,
D3DX_CHANNEL_RED |
D3DX_CHANNEL_GREEN |
D3DX_CHANNEL_BLUE |
D3DX_CHANNEL_ALPHA,
1.0f)
|
Leider wird das Bild immer das gleiche wie es schon vorher war, das heisst die Funktion gibt False / D3DERR_INVALIDCALL zurück.
Erkennt hier irgend jemand nen Fehler oder hab ich vielleicht was mit dem Bildformat Falsch gemacht? Ich habs mit PNG's in allen Farbtiefen versucht.
THX |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 25.07.2004, 23:47 Titel: |
|
|
Wenn du die Debug-Runtime aktiviert hättest, hättest du gesehen, dass du nur einen Kanal angeben kannst. Wenn es sich bei der Heightmap z.B. um eine Graustufen-Datei handelt, sollte es funktionieren, wenn du D3DX_CHANNEL_RED angibst. Für die Amplitude solltest du auch einen anderen Wert als 1.0f verwenden, da du sonst zu kleine Höhenunterschiede bekommst, versuch mal Werte so ab 50.0f. Die Normalmap muss du ale D3DFMT_R8B8G8 Textur in der gleichen Größe, die auch die Heightmap hat anlegen.
HTH.
C.
Zuletzt bearbeitet von Christian Rousselle am 26.07.2004, 00:00, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Beni5 Super JLI'ler
Alter: 36 Anmeldedatum: 12.11.2003 Beiträge: 310 Wohnort: Switzerland Medaillen: Keine
|
Verfasst am: 25.07.2004, 23:59 Titel: |
|
|
danke! Die Normalmap sieht sogar besser aus als mit Photoshop und dem NVIDIA Plug ( vielleicht weil man da zu viel einstellen muss)!
Ich habe vergessen die Textur zuerst richtig zu erstellen. Hab ich einfach Mit D3DXCreateTexture gemacht.
Danke Christian! |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 26.07.2004, 00:02 Titel: |
|
|
Wie? Geht es denn bei dir wenn du mehrere Channel angibst?
C. |
|
Nach oben |
|
|
Beni5 Super JLI'ler
Alter: 36 Anmeldedatum: 12.11.2003 Beiträge: 310 Wohnort: Switzerland Medaillen: Keine
|
Verfasst am: 26.07.2004, 00:04 Titel: |
|
|
Ah ne, hab ich vergessen. natürlich darf's nur ein Flag sein.
PS: Wo mach ich eigentlich diese Debug Runtime an?
Ich dachte die läuft automatisch schon. |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 26.07.2004, 00:19 Titel: |
|
|
Sollte man mal in die FAQ aufnehmen. Systemsteuerung->DirectX Icon->Direct3D->Debug Runtime. Dann gibt es Infos im VC-Ausgabebereich.
C. |
|
Nach oben |
|
|
Beni5 Super JLI'ler
Alter: 36 Anmeldedatum: 12.11.2003 Beiträge: 310 Wohnort: Switzerland Medaillen: Keine
|
Verfasst am: 26.07.2004, 00:34 Titel: |
|
|
Ich habe im Startmenü Unter Directx SDK die Directx Runtime (DEBUG) installiert. Hab aber mit mehreren Flags getestet und keine Warnung bekommen. In der Systemsteuerung fand ich leider nichts. |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
|
Nach oben |
|
|
PeaceKiller JLI Master
Alter: 35 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 26.07.2004, 12:08 Titel: |
|
|
Ich hab auch keine Icon in der Systemsteurung und der link tut nicht. _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
|
Nach oben |
|
|
|