Multitexturing - wie in ALE
Übersicht

![]() |
imagodespiraBetreff: Multitexturing - wie in ALE |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich grübel schon den ganzen Tag wie ich das machen soll.
Wie kann man von einer Textur auf eine andere überblenden. Schaut euch die Demo mal an, so stelle ich mir das vor: http://www.dyvision.co.uk/ale.htm Ich schaue schon lange nach einer Lösung für das Problem, leider noch nichts gefunden. Ich dachte immer das es so in der Art nicht möglich ist. Für Tipps bin ich sehr dankbar... |
||
furbolg |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das ist relativ einfach, für einen Übergang in dieser Richtung : A><B brauchst du 1 extra mesh machst dieses nur halb so groß wie das tile und legts es an das Ende / den Anfang, jenachdem wie du meinst (am besten da wo mehr ist, sonst hast du bei einem Tile nur kleinen Fleck ![]() |
||
furbolg |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ein tipp von mir, wenn du Mesh Terrain hast, speicher dir bei der Erstellung alle Vertex in sowas wie Dim VertexMap(128,128,4). Dann kannst du sie später leicht und schnell verändern, für Explosionen, Tag und Nacht wechsel etc. | ||
![]() |
imagodespira |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für Deine Antworten, furbolg!!!
Das ist für mich ein total neuer Ansatz auf den ich nie gekommen wäre. Habe gegrübelt wie ich das mit Multitexturing hinbekomme... aber das es so ist... Habe mir schon was mit den Vertex-Alpha gedacht und auch probiert aber auf Die Idee einfach mehrere Meshes zu überlagern bin ich nicht gekommen. Ich werde es testen, vielen Dank! |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
ah, ich sehe gerade, Speed verschwinden!
warum benutzt di kein Mjultitexturing, mit weichen übergängen? Also, 1. Texturen Scalieren auf unterschiedliche größen! 2. Grundtextursetzten(blendmode 1;scale 1,1;sehr hell weil sie dunkel ausssieht) 3.Additve textur, für Schlamm (schwarz weiß,Blend 3, scale Terraingröße,terraingröße) 4. Schlammtextur(Blend 2,Scale Beliebig) 5.Additve textur, für gras (schwarz weiß,Blend 3, scale Terraingröße,terraingröße) 6. Grasstextur(Blend 2,Scale Beliebig) 7.Additve textur, für Berge (schwarz weiß,Blend 3, scale Terraingröße,terraingröße) 8. Bergtextur(Blend 2,Scale Beliebig) 9.Additve textur, für Bergstrucktur (schwarz weiß,Blend 3, scale Terraingröße,terraingröße) 10. Bergstruckturtextur(Blend 2,Scale Beliebig) Achtung, nicht alle grakas haben 9 Texturen ![]() |
||
between angels and insects |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
weil niemand soviele Layer aufm Mesh hat und zudem führt deines zu garnix.
Sinn und zweck von der technik is es das zeug über das gesammte Terrain zu stretchen Wurde allerdings in nem anderen thread schon hinreichend erklärt wie das mit dem Texture Alpha Splatting funktioniert, suchen hilft von zeit zu zeit wenn mans mal benutzen würde, danke |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
imagodespira |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe schon mal gesucht hier im Forum, aber so wie es in "ALE" gemacht wurde, oder besser mit solcher Qualität, habe ich es hier noch nicht gefunden.
.. was ist Alpha Splatting??? (texturen auf Layern überblenden, oder Vertex-Alpha nehmen....) Jan_: hast du einen Screenshot, wo ich sehe wie es aussieht??? 9 Layer sind ein wenig viel, denke ich... |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die methode wie es gemacht wird habe ich hier in einem anderen thread im zusammenhang mit Terrains ausführlich erläutert. Texture Splatting basiert auf alpha werten, in diesem falle vertex alpha. aktuelle engines benutzen eher texture alpha da es beträchtlich bessere aufteilungen erlaubt. Es ist auch mit Blitz3D möglich, ich spiele damit aktuell grad ein wenig rum für Terrain Dreams V2 | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
imagodespira |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, ich habe noch ein bissel gesucht. Wenn es der richtige Thread war, dan hast Du da beschrieben, daß für jede Textur eine kopie vom Terrein erstellt wird und damit die Polygone ziemlich viel werden...
Sind die Positionen der Terrains immer auf der selben Höhe? Ich denke da an ein gewisses "Flimmern" wenn man etwas weiter entfernt ist (die Grafikkarte weiss nicht, welches Mesh sie nun darstellen soll...) . Oder ist das kein Problem... Wie weit bist Du mit Deinen Tests zu Terrain Dreams 2, gibt es screens, oder ne Demo? |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kannst es ja ausprobieren. Eigentlich sollte die ZFlag entsprechend gescheit funktionieren. wenn net wird halt um 0,001 in Y richtung verschoben und gut is ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
imagodespira |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke erstmal für Deine Tipps.
Ich habe jetzt 2 Terrains übereinandergelegt, geht bis jetzt wunderbar. Ich werde versuchen ein Mesh zu nehmen und für jede Textur eine Surface. Wenn ich eine textur draufmalen will dann kopiere ich die Dreiecke in die neue Surface und lösche aus der "Hauptsurface" die dinge heraus die ich nicht brauche. Mal sehen ob das so funktioniert. Jedenfalls sollten dann nicht so viele Polygone entstehen, doppelt sind dann nur die, die das Fading per Vertex-Alpha machen... mal sehen... |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was du mit rausnehmen meinst weiss ich zwar net, aber die einfachste optimierung:
Entferne Vertex mit Alpha 0 falls alle 8 umliegenden Vertices ebenfalls Alpha 0 in dem Fall kann da keine Alpha interpolation stattfinden. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
furbolg |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dreamoras methode ist viel langsamer, als meine, bei mir werden nur an den entsprechende Stelle neue Vertexe in das LeafMesh (Quadtree Terrain) gepackt. Dreamoras Umsetzung ist bei 9 Texturen, 1. lahm und 2. speicher verschwendung (9 terrains .... tsts ...)
Aber naja, dreamora is ja der / die alles wissende/r.... Jetzt mal im Ernst ich hab mit vielen Leute im C++ Bereich gesprochen und ein Freund von mir kennt paar von JoWood CDV etc. und die machen es genau so. C&C Generals machts auch so, sieht man am besten im Editor, einfach mal 2 textur malen und dann dieses Edge Tool aktivieren, dann sieht man den Effekt. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dann erleutere deine komische methode mal
nach dem was du da geschrieben hast wird alles über das gesammte terrain gestretched und das endet in ner grausigen grafikqualität weil du nur 1024x1024 als maximal auflösung hast während diese methode ( die übrigens in der industrie standard war bis man die nötigen karten hatte um anstatt vertex alpha texture alpha zu verwenden ) hochauflösende Texturen garantiert. es ist auch nur die Blitz3D addaptierung der eigentlichen methode die in Blitz3D net geht weil man in Blitz3D keinen zugriff auf den VertexBuffer hat und die Vertexzugriffe beschissen langsam sind so dass man net in realtime multipass rendering machen kann, wie man es eigentlich machen würde. Ich schätze deine methode wird in der industrie auch durch bedeutend grössere texturmaps erreicht. Far Cry hat auch texturen bis in der 16kx16k bereich, das is in blitz3d net drin ( net ma wenn du sie einzeln einliest, da mittels createtexture() erstellte texturen einen bug haben, sie scheinen autoclamp oder so zu haben ) Ich lasse mir auch gerne andere methoden zeigen die hochauflösende texturqualität gewährleisten und in echtzeit funzen, habe bisher jedoch trotz internsiver recherchen keine gefunden die mit Blitz3D gehen wegen mangelndem zugriff auf die VertexBuffer und trianglelists etc Edit: Nur so als randbemerkung: Grafikkarten haben ein maximum von 8 textur layern, mehr ist nicht möglich. und die sind ca aber der GF2 vorhanden. edit edit: noch ne frage wie soll dein system eigentlich genau mit einem terrain funzen? nehmen wir direkt mal das normale Blitz3D Terrain ... dein system blendet ja total über das gesammte terrain ... von daher was bringt es genau? da kann man das ganze gerade so gut gemeinsam vorher in ne colormap packen ( inkl schatten ) und nebenher ne detail texture aufn 2ten layer nehmen wie es viele machen ) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
imagodespira |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich finde das mit den Texturen inzwischen auch nicht mehr so toll (trotzdem Danke ![]() Ich hab an Dreamora´s Tipp weitergearbeitet, funktioniert gut. Inzwischen habe ich 2 Meshes und radiere vom oberen einige Vertices "unsichtbar". Sieht gut aus... Als nächstes will ich die nicht sichtbaren Dreiecke löschen, was aber auch kein Problem sein sollte.... Alles in Allem bin ich sehr zufrieden, ich werde alles noch ein wenig ausbauen damit ich es dann in meinen Editor einfügen kann und später ins Spiel... Das hat mit noch gefehlt um die Qualität so zu machen wie ich es will, damit die Grafik so perfekt wie möglich wird. Nochmal vielen Dank an beide!!! |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
freut mich das es klappt.
beweist immerhin das es net sehr schwer is und damit ALE total überteuert ... aber naja das war vorher klar ... etwas das mehr kostet als Gile[s] und so nix kann is überteuert ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
imagodespira |
![]() Antworten mit Zitat ![]() |
---|---|---|
... irgendwie hast Du recht. Wo ich ALE das erste mal gesehen hab war ich total begeistert ![]() |
||
![]() |
eizdealer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Interessante Diskussion habt ihr hier am laufen. ich hab mir zwar nicht alles durchgelesen, aber ich meine, eine durchaus gute lösung für das Problem zu haben. Sie basiert auf Vertexalpha, ist super schnell und nutzt keine zusätzlichen Ressourcen. Genaugenommen sogar deutlich schneller als die ALE Methode.
Ich werf einfach mal einen Screen in den Raum (bitte beachtet dabei, dass der uralt ist, die Texturen und eigentlich alles nur zum Test war): http://home.arcor.de/madone/trans3.jpg Wie das ganze funktioniert: Auf die Tiles, auf die ein Übergang soll wird ein weiteres Tile gelegt mit entsprechenden Alphawerten. Wichtig ist dabei, dass das gleich Surface wie das Terrain selber genutzt ist. Das kostet praktisch keine Performance im Gegensatz zum normalen Terrain. Aber auf die Idee muss man halt auch erstmal kommen ![]() Wenn du Hilfe brauchst, meld dich im IRC in #German. |
||
furbolg |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
eizdealer hat Folgendes geschrieben: Interessante Diskussion habt ihr hier am laufen. ich hab mir zwar nicht alles durchgelesen, aber ich meine, eine durchaus gute lösung für das Problem zu haben. Sie basiert auf Vertexalpha, ist super schnell und nutzt keine zusätzlichen Ressourcen. Genaugenommen sogar deutlich schneller als die ALE Methode.
Ich werf einfach mal einen Screen in den Raum (bitte beachtet dabei, dass der uralt ist, die Texturen und eigentlich alles nur zum Test war): http://home.arcor.de/madone/trans3.jpg Wie das ganze funktioniert: Auf die Tiles, auf die ein Übergang soll wird ein weiteres Tile gelegt mit entsprechenden Alphawerten. Wichtig ist dabei, dass das gleich Surface wie das Terrain selber genutzt ist. Das kostet praktisch keine Performance im Gegensatz zum normalen Terrain. Aber auf die Idee muss man halt auch erstmal kommen ![]() Wenn du Hilfe brauchst, meld dich im IRC in #German. genauso wie meine Methode .... |
||
furbolg |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dreamora hat Folgendes geschrieben: dann erleutere deine komische methode mal
nach dem was du da geschrieben hast wird alles über das gesammte terrain gestretched und das endet in ner grausigen grafikqualität weil du nur 1024x1024 als maximal auflösung hast während diese methode ( die übrigens in der industrie standard war bis man die nötigen karten hatte um anstatt vertex alpha texture alpha zu verwenden ) hochauflösende Texturen garantiert. >> wo hab ich was von strechen geschrieben ? es ist auch nur die Blitz3D addaptierung der eigentlichen methode die in Blitz3D net geht weil man in Blitz3D keinen zugriff auf den VertexBuffer hat und die Vertexzugriffe beschissen langsam sind so dass man net in realtime multipass rendering machen kann, wie man es eigentlich machen würde. Ich schätze deine methode wird in der industrie auch durch bedeutend grössere texturmaps erreicht. Far Cry hat auch texturen bis in der 16kx16k bereich, das is in blitz3d net drin ( net ma wenn du sie einzeln einliest, da mittels createtexture() erstellte texturen einen bug haben, sie scheinen autoclamp oder so zu haben ) >> Wozu Multipass ? braucht man nicht dafür >> Wieso Texturmap ? Splatting basiert auf Tiles wie Warcraft3 Ich lasse mir auch gerne andere methoden zeigen die hochauflösende texturqualität gewährleisten und in echtzeit funzen, habe bisher jedoch trotz internsiver recherchen keine gefunden die mit Blitz3D gehen wegen mangelndem zugriff auf die VertexBuffer und trianglelists etc. >> Meine Funtzt in Echtzeit, ist blass 4 Vertexe pro Tile beim Übergang mehr Edit: Nur so als randbemerkung: Grafikkarten haben ein maximum von 8 textur layern, mehr ist nicht möglich. und die sind ca aber der GF2 vorhanden. >> Was haben Texturlayer mit Meshstaplung zu tun ? du kannst doch soviele >> Meshes übereinander packen wie du willst edit edit: noch ne frage wie soll dein system eigentlich genau mit einem terrain funzen? nehmen wir direkt mal das normale Blitz3D Terrain ... dein system blendet ja total über das gesammte terrain ... von daher was bringt es genau? >> nein tut es nicht, es blendet nur bestimmte Teile da kann man das ganze gerade so gut gemeinsam vorher in ne colormap packen ( inkl schatten ) und nebenher ne detail texture aufn 2ten layer nehmen wie es viele machen ) >> Keine Textur / Shadow map ... >> Du kannst im Nachhinein noch eine Shadowmap rauf packen, aber wie gesagt >> Meins funtzt ohne Texturmap |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group