ProfilProfil
 Registrieren
 Login
Bild der WocheBild der Woche

(von Tiro)
Kommentare (8)
*****

Weitere
User onlineBenutzer online
Gäste online: 6
Mitglieder online: Keine
Registrierte Mitglieder: 1043
Neustes Mitglied: AliBaba

Texture Blending

Neue Antwort erstellen

Kommentare zu Texture Blending

Kommentare zum Artikel Texture Blending.
 

 

Autor Nachricht
 
 
MichaelH
Member


Anmeldedatum: 29.11.2009
Beiträge: 227

Antworten mit Zitat
BeitragVerfasst am: 08.05.2010, 11:11    Titel:

Danke.
Toller kleiner Shader.
Ist in meiner Sammlung itegriert.
Warum komm ich nicht mal selbst auf sowas ? Laughing
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


Ganda
Member


Anmeldedatum: 29.10.2009
Beiträge: 521
Wohnort: Germany, NRW

Antworten mit Zitat
BeitragVerfasst am: 08.05.2010, 14:01    Titel:

Normalerweise benutzt man doch solche Funktion, um die Übergänge von z.B. grünen Wiesen auf kahlen Fels bei Terrains darzustellen.
Hier ist der Effekt aber auch sehr interessant.
Den weißen Schleier auf Steinmauern soll man übrigens mit Coca-Cola gut wegbekommen. Laughing

Gruß Ganda
_________________
Mein Gameblog!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen


Astror Enales
XNA.mag - Team


Anmeldedatum: 20.08.2007
Beiträge: 712

Antworten mit Zitat
BeitragVerfasst am: 08.05.2010, 14:06    Titel:

Bei Terrain Textur-Übergängen benutzt man weiches Alpha-Fading. Das hier macht ja einen harten Schnitt wenn der Grenzwert überschritten ist.

Die Intention gab mir folgendes Video bei ca. Sekunde 40. (Erklärung schon eher)
http://www.youtube.com/watch?v=cj2NARWGI6M
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen


Ganda
Member


Anmeldedatum: 29.10.2009
Beiträge: 521
Wohnort: Germany, NRW

Antworten mit Zitat
BeitragVerfasst am: 21.05.2010, 15:56    Titel:

Darf ich mal eine Frage dazu anbringen?
Ich benutze folgenden Code im Shader, wie Du ähnlich auch:
Code:
texture Textur;
sampler2D TexSampler0;// = sampler_state
//{
//   Texture = (Textur);
//   MIPFILTER = LINEAR;
//   MAGFILTER = LINEAR;
//   MINFILTER = LINEAR;
//};

texture BumpTextur;
sampler2D BumpSampler;// = sampler_state
//{
//   Texture = (BumpTextur);
//   MIPFILTER = LINEAR;
//   MAGFILTER = LINEAR;
//   MINFILTER = LINEAR;
//}; // : register(s1)


Wenn ich die sampler_state nicht auskommentiere, meckert er dann zwar nicht, aber die Texturen sind danach einfach schwarz.
Compiled werden beide mit 2.0:

Code:
 
        VertexShader = compile vs_2_0 VertexShaderFunction();
        PixelShader = compile ps_2_0 PixelShaderFunction();


Kann sich das jemand erklären?

Gruß Ganda

Edith sagt: Sorry, Ganda hat es gefunden. Die Übergabe der Textur hatte er anders gemacht:
Code:

            LightEffect1.Parameters["Textur"].SetValue(texture1);
            LightEffect1.Parameters["BumpTextur"].SetValue(texture2);

            //this.GraphicsDevice.Textures[0] = texture1;
            //this.GraphicsDevice.Textures[1] = texture2;

smpler_state funktioniert scheinbar nicht mit der Übergabe an die Register!
_________________
Mein Gameblog!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen


Ganda
Member


Anmeldedatum: 29.10.2009
Beiträge: 521
Wohnort: Germany, NRW

Antworten mit Zitat
BeitragVerfasst am: 21.05.2010, 17:46    Titel:

Sorry wegen Doppelpost, aber ich habe da noch eine Verbesserung für den Shader.
Da spart man sich die zweite Textur und kann auch noch einstellen, wie dreckig das Weiß sein soll.

Code:
float4x4 World;
float4x4 View;
float4x4 Projection;

float Strength=0.5f;
float Whiteness=0.6f; //Neuer Parameter "Weißheit"

texture Texture0; //bleibt so
sampler2D sampler0 = sampler_state
{
   Texture = (Texture0);
   MIPFILTER = LINEAR;
   MAGFILTER = LINEAR;
   MINFILTER = LINEAR;
};

//texture Texture1; //nicht mehr benötigt
//sampler2D sampler1 = sampler_state
//{
//   Texture = (Texture1);
//   MIPFILTER = LINEAR;
//   MAGFILTER = LINEAR;
//   MINFILTER = LINEAR;
//};

//..
float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0
{   
        float4 color0 = tex2D(sampler0, input.TexCoords); //bleibt so
   //float4 color1 = tex2D(sampler1, input.TexCoords); wird nicht mehr benötigt
   float4 color1 =(color0.r+color0.g+color0.b)* Whiteness; //"Weißheit" wird errechnet
       //....

_________________
Mein Gameblog!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen


Astror Enales
XNA.mag - Team


Anmeldedatum: 20.08.2007
Beiträge: 712

Antworten mit Zitat
BeitragVerfasst am: 22.05.2010, 12:07    Titel:

Freut mich zu sehen das du dich mit dem kleinen Artikel so sehr beschäftigst Smile
Für Weiß blenden hast du natürlich recht, dann wäre dein neuer Ansatz einfacher und hätte weniger Instructions, aber es geht ja insgesamt nicht nur um Weiße Texturen sonder jede beliebige Kombination. (z.b. eine Wand wie bisher mit einer Plakattextur, oder Holz). Da würde das dann nicht mehr funktionieren Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen


Miniboy767
Member


Anmeldedatum: 05.03.2009
Beiträge: 156
Wohnort: Bayern - Niederaudorf

Antworten mit Zitat
BeitragVerfasst am: 08.09.2010, 21:54    Titel:

danke das tutorial hat mir sehr geholfen habs auch gleich wild durchprobiert und hab hier mal ne demo von ner "blutigen" Wand:



und hier sind auch noch nen paar masken falls ihr die gebrauchen könnt. sehen ganz gut aus (alles selber gemacht also zur freien nutzung):






(das hier hab ich beim oberen bild verwendet)

also nochmals danke, war auch gut zu verstehen, und hat mir wie gesagt gut geholfen
_________________
Real Life ist was für Versager, die Ingame nichts erreichen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden


Beiträge der letzten Zeit anzeigen:   
 
Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de