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

Anonymous

unregistriert

1

29.04.2004, 12:51

Bump/Normal Map

Also ich habe mich zu beiden mal kundig gemacht und habe irgendwie das Gefühl das beide den selben Zweck erfüllen. Stimmt das ja oder nein.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

29.04.2004, 18:43

afaik is das eine = das andere

Anonymous

unregistriert

3

29.04.2004, 19:03

Definitiv nicht. Das eine ist ne textur mit grau abstufungen, das andere ne frabige wobei jeder pixel als vektor genommen wird.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

29.04.2004, 19:07

das farbige ( -> die normal map ) wird aus den graustufen berechnet und is farbig, weil in den RGB daten der pixel die xyz daten der Normalvektoren pro pixel gespeichert sind.
wenn du jetzt bumpmapping implementierst ( z.b. über pixel shader ) dann brauchst du die normal map ( bump mapping is im prinzip nix andres als normale dot3 beleuchtung pro pixel ) die erst aus der bump map generiert werden muss.

so gesehen is es nicht ganz das gleiche ;)

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

29.04.2004, 19:37

Nemo

Stellt sich nur die Frage warum an es nicht gleich als normal map speichert.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

29.04.2004, 20:23

Zitat

The Dot Product 3 sample demonstrates an alternative approach to Microsoft® Direct3D® bump mapping. This technique is named after the mathematical operation that combines a light vector with a surface normal. The normals for a surface are traditional (x,y,z) vectors stored in RGBA format in a texture map—called a normal map for this technique.


Also doch nit das selbe, nur haben beide das selbe Ziel.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

30.04.2004, 18:22

nein, isses nicht.
aber beides hat das selbe ziel.
FarCry verwendet z.B. dot3 bumpmapping mit ner normal map ( das ist was sich sich hinter dem namen Polybump verbirgt ).

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

30.04.2004, 19:06

Naja diese Technik wir sowieso immer wieder bei vielen SPielen benutzt, bekommt aber immer neue Namen. Also halten wir fest: Die Bumpmap ist eine Textur mit verschiedenen grauabstufungen und die normal map kann aus ihr erzeugt werden. Dann kann man das ganze mit dem ähnlich lauteden code also komplett ansehen. Richtig?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        m_pDev->SetSamplerState( 0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR);
        m_pDev->SetTextureStageState( 0, D3DTSS_TEXCOORDINDEX, 0 );
        m_pDev->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_DOTPRODUCT3);
        m_pDev->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
        m_pDev->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
        m_pDev->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
        m_pDev->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );

        m_pDev->SetSamplerState( 1, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR);
        m_pDev->SetTextureStageState( 1, D3DTSS_TEXCOORDINDEX, 1);
        m_pDev->SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_MODULATE);
        m_pDev->SetTextureStageState( 1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
        m_pDev->SetTextureStageState( 1, D3DTSS_COLORARG2, D3DTA_CURRENT);
        m_pDev->SetTextureStageState( 1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1);
        m_pDev->SetTextureStageState( 1, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
        
        m_pDev->SetTexture(1,m_pColorTexture);
        m_pDev->SetTexture(0,m_pNormalMap);  

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

30.04.2004, 19:51

richtig

ich hab mich jetzt mal informiert:

also normalmapping funzt so wie ichs immer gesagt hab ( dot3 zwischen den vektoren ).
wie mir allerdings scheint, hat das normale bumpmapping was mit texturkoordinaten zu tun.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

10

30.04.2004, 20:02

öhmm also das Direkt3D Bump Mapping nicht. Das hätte,glaube ich, eigentlich auch nicht den selben Effekt.

Werbeanzeige