C# 奇异地形撕裂
让我先发布图片 发生撕裂的实体射击 那个地方的线框照片 我主要是使用,而渲染代码是 主渲染C# 奇异地形撕裂,c#,.net,xna,terrain,tearing,C#,.net,Xna,Terrain,Tearing,让我先发布图片 发生撕裂的实体射击 那个地方的线框照片 我主要是使用,而渲染代码是 主渲染 public void Render() { device.Clear(Color.CornflowerBlue); RasterizerState rs = new RasterizerState(); rs.CullMode = cullmode; rs.FillMode = fillmode; dev
public void Render()
{
device.Clear(Color.CornflowerBlue);
RasterizerState rs = new RasterizerState();
rs.CullMode = cullmode;
rs.FillMode = fillmode;
device.RasterizerState = rs;
effect.Parameters["xView"].SetValue(camera.ViewMatrix);
effect.Parameters["xProjection"].SetValue(camera.ProjectionMatrix);
effect.Parameters["xWorld"].SetValue(Matrix.Identity);
effect.Parameters["xEnableLighting"].SetValue(true);
effect.Parameters["xLightDirection"].SetValue(lightDirection);
effect.Parameters["xAmbient"].SetValue(0.5f);
globals.game.terrain.Render();
globals.game.spriteBatch.Begin();
globals.console.Render();
globals.game.spriteBatch.End();
}
Terrain.Render()
我已经被这个问题困扰了很长时间(不知道它是由我的编码技能、xna还是g-card配置引起的…),所以我想知道是否有人知道是什么导致了这个问题?暂时对spritebatch开始、绘制和结束代码进行注释,看看这是否有区别。它可能取决于缓冲区中的顶点顺序,也可能不取决于顶点顺序
如果确实有帮助,可以在此处找到您的解决方案:@DanNeely我无法发布超过2个URL…这就是我禁用Reimers链接的原因…暂时注释spritebatch开始、绘制和结束代码,看看这是否有区别。它可能取决于缓冲区中的顶点顺序,也可能不取决于顶点顺序。如果确实有帮助,可以在这里找到您的解决方案:@SteveH Yea。这就成功了…谢谢你,穆奇!我永远不会认为2d文本渲染会破坏3d渲染…请总结在该链接中找到的相关内容。如果这种联系消失了,那么这个答案的主要内容将很难找到。如果讨论了不相关的问题,总结也有助于了解哪些部分适用于此问题。
public void Render()
{
globals.game.graphics.effect.CurrentTechnique = globals.game.graphics.effect.Techniques["Colored"];
globals.game.graphics.effect.Parameters["xWorld"].SetValue(worldMatrix);
foreach (EffectPass pass in globals.game.graphics.effect.CurrentTechnique.Passes)
{
pass.Apply();
globals.game.graphics.device.Indices = indexBuffer;
globals.game.graphics.device.SetVertexBuffer(vertexBuffer);
globals.game.graphics.device.DrawIndexedPrimitives(PrimitiveType.TriangleList, 0, 0, vertices.Length, 0, indices.Length / 3);
}
}