Du musst die Tangente in der Tat im Vertex speichern.
Das mit dem Tangentspace ist eine etwas längere mathematische Geschichte...
Am besten du siehst dich einfach mal nach Infos zum grundlegendem Bumpmapping um.
Wenn du das richtig verstanden und umgesetzt hast, dann ist es zum Environmental Bumpmapping nur noch ein kleiner Schritt.
Oder aber du benutzt alternativ Normalmaps deren Normalenangaben im Objectspace vorliegen (wie bei dem
bunten Bild in einen meiner Posts weiter oben).
Vorteile:
- Man kann auch schön
Detailreduktionvon hochauflösenden Modellen betreiben
- Tangente muss nicht berechnet werden, folglich entfällt deren Speicherung im Vertex sowie das Umrechnen der Bumpmapnormalen
- Sogar die Normale im Vertex wird hinfällig, da nun alle Normalen aus der Textur kommen
Nachteil:
- Geringere Genauigkeit
- Texturen müssen pro Model erstellt werden; Mehrfachverwendung ist unmöglich
- Texturen dürfen sich nicht auf der Oberfläche wiederholen
- Da jetzt pro Vertex gar keine Normalen mehr vorhanden sind, ist das gesammte Model auch auf die Texeldichte angewiesen damit es zu keinen Beleuchtungsfehlern kommt