dot3 ohne berechnungen

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

mevos

Betreff: dot3 ohne berechnungen

BeitragMi, März 21, 2007 23:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, ich habe ein Objekt zwei mal erstellt. Eins mit der normalen Textur überzogen und eins mit der Textur für Dot3.
Ich hab jetzt also zwei mal das gleiche Mesh auf der gleichen Prosition.

Ich weiß, dass es eigendlich anders funktioniert, wie zb in dem Tutorial von Vertex mit berechnungen usw. Ich möchte aber einfach den unebenen Effekt vom dot3 haben ohne den Effekt berechen zu müssen.

So funktioniert es:

Code: [AUSKLAPPEN]
rechteck=Createcube()
EntityAlpha rechteck,0.6
EntityColor rechteck,255,0,0
PositionEntity rechteck,0,+50,0


tex=LoadTexture ("3.jpg")
tex2=LoadTexture ("4.jpg")

cube=CreateSphere(32)
cube2=CreateSphere(32)
EntityAlpha cube2,.99
EntityTexture cube,tex
EntityTexture cube2,tex2

ScaleEntity cube,20000,20000,20000
ScaleEntity cube2,20000,20000,20000

ScaleTexture tex,0.4,0.4
ScaleTexture tex2,0.4,0.4


TextureBlend tex2, 4


Nun zu meiner Frage: Kann ich das auch machen ohne zwingend das Objekt zwei mal zu erstellen? Ich hab schon versucht beide Texturen mit verschiedenen layer auf ein objekt zu ziehen, hat leider nicht geklappt.


Dieses Bild ist mit dem Code von oben entstanden.
user posted image

StepTiger

BeitragMi, März 21, 2007 23:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Teste mal etwas mit TextureBlend herum! 2 Objekte erstellen ... wundert mich, dass es funktioniert ^^
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

Vertex

BeitragDo, März 22, 2007 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Schau dir mal das System von Shodan an:
https://www.blitzforum.de/foru...hp?t=21620

Mittels Cubemaps wird hier Dot3 Bumpmapping realisiert. Shodan ist so clever, und hat es geschafft, die Lichtquelle beliebig zu positionieren. Das ging vorher nicht.

Damit wird die Berechnung größtenteils von der GPU erledigt, was die die Aufwändige VertexColor Berechnung in der CPU abnimmt. Das Verfahren, wie ich es im Tutorial beschrieben hatte, lies sich in Echtzeit via Shader realisieren. Der Vertexshader hat dann die VertexColor Berechnung selbstständig durchgeführt. Aber das war ja auch kein Blitz3D ^^

Deine Idee wird unter Garantie scheitern. Bumpmapping funktioniert wie normales Dynamic Lighting. Beim Dynamic Lighting wird jeder Vertex im Mesh beleuchtet. Beim Bumpmapping geschieht das für jeden Texel. Wo jeder Vertex die Normalkoordinaten per VertexNX, NY und NZ zugewiesen bekommen hat, definiert man mit einer Normalmap die Normals für jeden Texel. Dabei dienen die 3 Farbkanäle als NX, NY und NZ.

Es kommt aber hier nur Diffuselighting zum Einsatz. Denkbar wären auch Glossmaps was dem Shininess in Blitz entspricht. Selbst Ambientlight kann per Map simuliert werden.

Diese tollen Effekte führen also (mittels Shader) die selben Berechnungen für jeden Texel durch, wie es bereits in Blitz3D für jeden Vertex geschieht.

mfg olli
vertex.dreamfall.at | GitHub

Shodan

BeitragDo, März 22, 2007 23:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Einige Grundsätzliche Dinge zum Verständnis:

Die Farbgebung des Mesh, bzw. der Texturlayer unterhalb einer Dot3-Textur werden dazu benutzt, um deren Licht/Schattenrichtung festzulegen.
Deswegen sollte die Dot3-Textur immer als unterster Layer auf dem Objekt liegen.
Hier kommt die BSM-Lib ins Spiel. Sie generiert einen angepassten Farbverlauf in einer Cubemap. Liegt diese Cubemap nun unterhalb der Dot3-Textur gibt das der Textur die korrekte Beleuchtungsrichtung.
Bumpmapping wird grundsätzlich dahingehend realisiert, das die normale Farbtextur oberhalb der Dot3-Bumpmap liegt, mit Texturblend 2 oder 5, sodass diese die Bumptextur nicht beeinflusst wird.
Hier ein kleines Tut zum Thema Bumpmapping mit der BSM-Lib
http://www.selfmadegames.de/bump-tutorial.zip

sollten noch Fragen offen sein, einfach stellen. Wink

Shodan
www.selfmadegames.de

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group