Multitexturing

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

blitzuser34

Betreff: Multitexturing

BeitragSa, Jan 31, 2009 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich hab ne Graß- und ne Sandtextur. Die beiden will ich mit Multitexturing auf ein Terrain packen.

Wie "ziehe ich die Sandtextur von der Grastextur ab?". Da ich ja Blendmode 3 habe, müsste ich ja alles vorher abziehen, damit es addiert wieder die Orginaltex gibt.

Gibt es ein Tool dafür, oder muss ich selber eins schreiben?

Blitzuser34
 

gigi

BeitragSa, Jan 31, 2009 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt dazu ein Sample,guck mal unter:
Samples/mak/insaner
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185

blitzuser34

BeitragSa, Jan 31, 2009 20:54
Antworten mit Zitat
Benutzer-Profile anzeigen
da hab ichs ja her, ich weiß nur nich wie ich aus ner Textur die bla_diff machen soll(die lilane).

NightPhoenix

BeitragSa, Jan 31, 2009 21:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Soweit ich weiß musst du dazu die Farben einer Textur1 in nem Bildbearbeitungsprogramm invertieren und den zwischenwert zwischen der negativen negativer Textur1 und textur 2 bilden. Oder es ging glaube ich auch mit Textur1 transparent auf Textur 2 ziehen.
Jedenfalls ziemlich umständlich und so richtig gute Ergebnisse erzielt man damit auch nicht. Multitexturing wie im Insaner Sample ist nicht so gut.
Ich benutz immer eine Colormap mit einer Structuremap.

blitzuser34

BeitragSo, Feb 01, 2009 0:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich hab noch ne Frage:

wie mache ich eine Smooth-Funktion für ein BlitzTerrain?

Blitzuser34

Xaymar

ehemals "Cgamer"

BeitragSo, Feb 01, 2009 2:03
Antworten mit Zitat
Benutzer-Profile anzeigen
das habe ich schonmal für dioch erledigt:
Code: [AUSKLAPPEN]
Function SmoothTerrain(Ter)
   WH=TerrainSize(Ter)
   For X = 0 To WH:For Y = 0 To WH
      HL#=0:HR#=0:HU#=0:Hd#=0
      If X-1 >= 0 HL#=TerrainHeight#(Ter,X-1,Y)
      If X+1 <= WH HR#=TerrainHeight#(Ter,X+1,Y)
      If Y-1 >= 0 HU#=TerrainHeight#(Ter,X,Y-1)
      If Y+1 <= WH HD#=TerrainHeight#(Ter,X,Y+1)
      HM#=TerrainHeight#(Ter,X,Y)
      NewH# = (HL#+HR#+HU#+HD#+HM#)/5
      ModifyTerrain Ter,X,Y,NewH#
   Next:Next
End Function


ist eigentlich nicht viel code
Warbseite

blitzuser34

BeitragSo, Feb 01, 2009 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Thx. Noch ein Prob: Ich hab ja ein Terrain. Außerdem hab ich ne Plane als Wasser. Wenn ich mit der Kamera weiter weg gehe, sieht es so aus, als ob sich das Wasser hoch und runter bewegt wie wild.

NightPhoenix

BeitragSo, Feb 01, 2009 12:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Du scheinst neu in Sachen 3D zu sein ^^
Das liegt am Z-Buffer. Jedes DX Spiel (auch keine B3D Spiele) nutzen dies. Umso weiter du von Objekten weg bist desto ungenauer wird "die Darstellung der Polygone an der richtigen Stelle" (einfach ausgedrückt).
Dir fällt es in kommerziellen Spielen meist nicht auf, weil deren Sichtweite gering ist, oder das Szenario mit viel Objekten zugestellt ist.
Außerdem hilft eine richtige Skalierung der Szene ebenso diese Fehler zu minimieren.
1 Blitzeinheit = 1 Meter sollte optimal sein.

blitzuser34

BeitragSo, Feb 01, 2009 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber doch nich aus 5 "Metern" Abstand. Und wenn ich WBuffer richtig verstanden habe, müsste es damit ja besser sein. Ist es aber nicht.

Edit: jetzt is es auf einen Schlag weg. Kein Plan warum. Meiner Meinung nach war das eh nich normal. Des sah richtig mies aus.

Edit 2: war ein Dummheitsfehler Embarassed . Der erste Parameter von Camerarange war zu klein.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group