Estoy haciendo un juego XNA de arriba hacia abajo. Los mapas son creados por mosaicos. Un problema que noté recientemente es una "cuadrícula" de líneas entre los mosaicos. Solo aparece a veces y solo según la posición de la cámara. Dejo que XNA maneje el posicionamiento, ¿por qué aparecen estas líneas?
Aquí hay una foto con las líneas:

Sin embargo, después de mover mi cámara un poco, mágicamente regresa a cómo se supone que debe aparecer:

¡Gracias por cualquier ayuda!
EDITAR:
Esto es lo mejor que puedo hacer para el código fuente, este es un proyecto extremadamente grande y la representación se realiza en múltiples áreas:
Main Render Loop Para elementos dinámicos como mosaicos:
spriteBatch.Begin(SpriteSortMode.Deferred, Nothing, SamplerState.LinearClamp, Nothing, Nothing, Nothing, Matrix.CreateTranslation(CameraX, CameraY, 0))
Mode.Render(spriteBatch, False)
For Each j As [Delegate] In DynamicInjectionList
j.DynamicInvoke(spriteBatch)
Next
DynamicInjectionList.Clear()
spriteBatch.End()
Mode.Render:
For x As Integer = 0 To GRIDMAX - 1
For y As Integer = 0 To GRIDMAX - 1
For z As Integer = 0 To 2
Dim ter As TiledTerrain = Terrain(x, y, z)
If ter IsNot Nothing Then
sb.Draw(CBaseClient.TextureLibrary("TileMap"), New Rectangle(x * GRIDSIZE, y * GRIDSIZE, GRIDSIZE, GRIDSIZE), New Rectangle(ter.Texture_X, ter.Texture_Y, GRIDSIZE, GRIDSIZE), Color.White)
End If
Next
Next
Next
TiledTerrain.vb Clase:
Imports ProtoBuf
<ProtoContract()> _
Public Class TiledTerrain
<ProtoMember(1)> _
Public Property X As Integer
<ProtoMember(2)> _
Public Property Y As Integer
<ProtoMember(3)> _
Public Property Z As Integer
<ProtoMember(4)> _
Public Property Texture_X As Integer
<ProtoMember(5)> _
Public Property Texture_Y As Integer
End Class
Mi investigación:
He investigado un poco y esto es lo que he encontrado:
- Este problema se llama desgarro (¿creo?)
- Es comúnmente causado por el uso de un tipo de datos de punto flotante para mantener la posición del mosaico (estoy usando,
Integerasí que esto no debería ser un problema, ¿verdad?)