Ich arbeite an der Silverlight App. Ich versuche, den Boden mit Fliesen zu bedecken. Obwohl ich Mip-Maps verwende, bekomme ich immer noch schreckliche Moire-Muster, wenn ich versuche, große Flächen zu rendern.
Ich erstelle einen Quader und bedecke ihn dann mit einer einzelnen Kachel:
In meinem Pixel-Shader multipliziere ich Texturkoordinaten, um einen Fliesenboden zu erstellen (andernfalls würde ich eine Fliese über meinen Quader spannen). Pixel-Shader-Code:
float Width : register(c3); //Width of cuboid
float Height : register(c4); //Height of cuboid
texture texTexture;
sampler textureSampler : register(s0) = sampler_state {
Texture = (texTexture);
};
struct VsOutput
{
float4 position : POSITION;
float3 dirLightPosition : COLOR;
float2 texCoord : TEXCOORD0;
float3 normal : TEXCOORD1;
float3 view : TEXCOORD2;
};
float4 main(VsOutput IN) : COLOR
{
float2 texCoord = float2(IN.texCoord.x * Width / 4.0f,
IN.texCoord.y * Height / 4.0f); //multiplying texture coordinates
float4 texColor = tex2D(textureSampler, texCoord);
return float4(color.r, color.g, color.b, 1.0f);
}
Meine Ausgabe ist:
Was kann ich noch tun, um zu verhindern, dass Moires-Muster auf Texturen erstellt werden?