Bumpmapping

Previous topic - Next topic

BumbleBee

Wurde aufgefordert :D zu erklären was man für Bumpmapping (Bumps = Unebenheiten) in GLBasic so alles braucht.Und das ist nicht viel.

1.Man braucht eine Textur. (Ach ne) ;)
2.Die Textur in einem Bildbearbeitungsprogramm in eine Graustufen Textur umwandeln.
3.Die Texturen laden. Einmal mit LOADSPRITE und einmal mit LOADBUMPTEXTURE
3.Ersten Parameter bei X_SPOT auf -1.  
4.Zweiten Parameter dann bei X_SETTEXTURE auf 1 setzen. (oder 2...je nach BumpTexturnummer)

Also:
LOADSPRITE "Tex_0.bmp",0
LOADBUMPTEXTURE "Tex_1.bmp", 1
                          :
X_SPOT_LT -1 .....
X_SETTEXTURE 0, 1//  0=Textur , 1=Bump

Das wars schon. Hoffentlich stimmt das auch. Man braucht halt noch ein Objekt wo man das ganze draufklebt und noch die Kamera auf Position bringen. Der Rest steht in der Hilfe.:lol:

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

Sebastian

Kleine Ergänzung:
Bumpmapping ist (zumindest in GLBasic) ein wenig... unflexibel. Es setzt nämlich vorraus, dass JEDES Objekt eine Bumpmap benutzt. Versucht man, ein anderes Objekt nur mit Diffuse Map (also Textur) zu rendern, wird man mit einem schwarz/weissen Objekt "bestraft". Umgehen kann man das, indem man eine komplett weisse Textur anlegt und diese Textur allen Objekten zuweist, die kein Bumpmapping haben sollen.

Kitty Hello

Stimmt so nicht!
Wenn Du ein weiteres Objekt _ohne_ Bump-Mapping rendern willst, mach einfach das Licht -3 (oder -2!?) wieder aus, indem Du als Öffnungswinkel "0" angibst.

Das EntitySystem behandelt dieses Thema mit dem Befehl "EntityModeBumpMapping(handle)".

Sebastian

Oh, danke. Dann nehme ich sofort Alles wieder zurück und behaupte das Gegenteil  :lol:
Ist trotzdem besser, es eingeschalten zu lassen und für die anderen Objekte eine weisse Bumpmap zu benutzen (siehe 3D Snippets zum Thema Per Pixel Lighting)  =D

Kitty Hello

eher nicht, weil BumpMapping viel Prozessor-Rechenzeit kostet. Heute sollte man (wo's geht) auch dafür einen Shader verwenden.

Schranz0r

Dann mach doch mal ein schickes Shader Tutorial Gernot ;)
Ich kenn mich da null aus !  =( :noggin:
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Sebastian

Per Pixel Lighting kostet auch als Shader einiges an Performance, aber ich weiss natürlich nicht, wie GLBasic Bump Mapping intern handhabt. Im Prinzip funktioniert das mit der weissen Bump Map ja bloss, weil Per Pixel Lighting quasi eine Voraussetzung für Bump Mapping ist.