Ich versuche, eine zufällige Textur mit einer Zahl basierend auf der Kacheleingabe anzuwenden. Meine Bemühungen führen bisher zu Mustern in der gewählten Anzahl.Zufälligkeit von Kacheln erstellen?
Meine Methode, um darüber zu gehen, hat jeden Fliesenwert mit einem zufälligen Skalar multipliziert und dann entweder multipliziert oder addiert sie zusammen. Rufe die Operationen auf, die ich für jede Kachel "Salz" mache.
Beispiel:
float seed = fract(fract((tile.x+23.42f)*189.28148f) + (tile.y*92001.302+1.235801f));
Als ich die beiden „gesalzen“ Kachel Werte zusammen ergibt sich ein Muster hinzufügen. Die Zahlen sind entlang der Diagonalen gleich.
Wenn ich die zwei "gesalzenen" Kachelwerte multipliziere, werden die Zahlen entlang der Diagonalen gespiegelt.
Ich möchte ein wenig mehr Zufälligkeit aus diesen Fliesen-Werte, kann jemand anständig in Mathe helfen?
Shader Codesegment:
vec2 tile = vec2(floor(texCoord_vs.x), floor(texCoord_vs.y));
float seed = fract(fract((tile.x+23.42f)*189.28148f) + (tile.y*92001.302+1.235801f));
vec2 offset = offset_vs;
offset.x += floor(seed*7.0f)*TYPE_UNIT_SIZE;
vec3 diffuseColor = materialDiffuseColor * texture(
typesheet, vec2((texCoord_vs.x - tile.x)*TYPE_UNIT_SIZE,
(texCoord_vs.y - tile.y)*TYPE_UNIT_SIZE) + offset);
Bild: https://gyazo.com/aada74e81fdc3dbd0220263993ed7d01
Ihr Ziel ist mir nicht ganz klar - versuchen Sie, die x, y-Koordi- nation als Eingabe/Schlüssel zu verwenden, um einen zufälligen Index zu erhalten? – Pikalek
ja, mhm, ja, 1 mehr char –
Was ist der Bereich für die x, y-Koordinaten und den Lookup-Index? – Pikalek