Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

sAm

Frischling

  • »sAm« ist der Autor dieses Themas
  • Private Nachricht senden

1

11.07.2008, 01:56

Anzeigefehler beim Environment Mapping

Hi Leute!
Weiß jemand von euch wie so etwas passieren kann? Die Reflektion der Umgebungstextur läuft auf dem Würfel in einem Punkt zusammen:


(Link)


Sieht irgendwie nach falschen Texturkoordinaten aus. Die lasse ich ja aber automatisch berechnen.
Das komische ist: Wenn ich die Bump Map weglasse funktionieren die Reflexionen ganz normal.

Die TextureStageStates habe ich genau wie im Buch übernommen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
pD3DDevice->SetTexture(0, pTexture);
pD3DDevice->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
pD3DDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_CURRENT);
pD3DDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TEXTURE);

pD3DDevice->SetTexture(1, pBumpMap);
pD3DDevice->SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 0);
pD3DDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_BUMPENVMAP);
pD3DDevice->SetTextureStageState(1, D3DTSS_BUMPENVMAT00, F2DW(1.0f));
pD3DDevice->SetTextureStageState(1, D3DTSS_BUMPENVMAT01, F2DW(0.0f));
pD3DDevice->SetTextureStageState(1, D3DTSS_BUMPENVMAT10, F2DW(0.0f));
pD3DDevice->SetTextureStageState(1, D3DTSS_BUMPENVMAT11, F2DW(1.0f));

pD3DDevice->SetTexture(2, pEnvMap);
pD3DDevice->SetTextureStageState(2, D3DTSS_TEXCOORDINDEX, D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR);
pD3DDevice->SetTextureStageState(2, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT3);
pD3DDevice->SetTextureStageState(2, D3DTSS_COLOROP, D3DTOP_ADD);
pD3DDevice->SetTextureStageState(2, D3DTSS_COLORARG1, D3DTA_CURRENT);
pD3DDevice->SetTextureStageState(2, D3DTSS_COLORARG2, D3DTA_TEXTURE);


Mfg Minh

sAm

Frischling

  • »sAm« ist der Autor dieses Themas
  • Private Nachricht senden

2

12.07.2008, 01:43

Noch nie jemandem so etwas passiert? =/

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

3

12.07.2008, 01:47

(Wild geraten) Haengt es evtl mit der Kamera zusammen ?
"Have you tried turning it off and on again?"

sAm

Frischling

  • »sAm« ist der Autor dieses Themas
  • Private Nachricht senden

4

12.07.2008, 01:52

Wie genau meinst du das? Die Kamera kann man frei auf der xz-Ebene bewegen. Aus jeder Position dasselbe Ergebnis =(

Ba'el

Alter Hase

Beiträge: 409

Wohnort: Erfurt

Beruf: Student (6 FS angew. Info. - Richtung Medieninformatik)

  • Private Nachricht senden

5

12.07.2008, 09:04

in Maya hab ich manchmal solche Effekte, wenn man das falsche Mapping auswählt, zum Beispiel "Kugelmapping" auf 'nem Würfel anwendet oder ähnliches halt

aber da ich noch nix mit DX gemacht hab, hab ich kP ob da ein Fehler ist ...

ich schätze mal hiermit wird gesagt wie gemappt werden soll D3DTOP_BUMPENVMAP , kannst ja mal rumprobieren bottom oder kA was es da noch gibt ...
aktuelle Projekte:
Ruby on Rails
XNA & Touchless
Progr. mobiler Endgeräte (GPS Trekking)

6

12.07.2008, 09:23

Anscheinend hast du an dem Original-Beispielcode schon einige Änderungen durchgeführt. Bei mir sieht der Würfel nämlich wie ein Eiswürfel aus, und die Mappingprobleme treten nicht auf. Dein geposteter Codeausschnitt ist soweit Ok, also muss das Problem wohl woanders liegen.

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

7

12.07.2008, 12:54

Das mit der Kamera war Quatsch, ich hatte mir die Berechnung der Environment-Map falsch vorgestellt. Hast du das hier mal durchgelesen?

Zitat

Texture coordinates that index a cubic environment map aren't simple u, v style coordinates, as used when standard textures are applied. In fact, cubic environment maps don't use texture coordinates at all. In place of a set of texture coordinates, cubic environment maps require a 3D vector. You must take care to specify a proper vertex format.
"Have you tried turning it off and on again?"

sAm

Frischling

  • »sAm« ist der Autor dieses Themas
  • Private Nachricht senden

8

13.07.2008, 17:31

Jo klar, ich benutze ja auch nen 3D Vektor für die Texturkoordinaten, genau wie im Buch eben. Ich habe gerade nochmal alles mit den Texturen aus dem Buch ausprobiert und das Ergebnis ist dasselbe wie im Beispielprogramm, also liegts wohl an meiner Bump Map. Verstehen tu ichs nur noch nicht^^
Trotzdem danke für die Hilfe =)

Werbeanzeige