我的问题开始时,我正在做纹理到顶点的例子(https://gamedev.stackexchange.com/questions/30050/building-a-shape-out-of-an-texture-with-farseer)然后我弹出,如果它的posible将这个“farseer顶点”传递给可以在DrawUserIndexedPrimitives中使用的顶点数据,以便拥有顶点准备修改alpha纹理。
实施例: 您可以在三角形条带顶点数据上绘制纹理(在某些位置具有透明度),以便您可以操纵这些点以便像这样处理图像: http://www.tutsps.com/images/Water_Design_avec_Photoshop/Water_Design_avec_Photoshop_20.jpg
正如您所看到的,A字母只是PNG文件上的普通图像,但在转换后,我可以使用它来分辨图像。
PLZ任何解决方案都会提供一些代码或指向教程的链接,可以帮助我弄清楚这个......
谢谢大家!!
Pd积。我认为主要问题是如何仅从PolygonTools.CreatePolygon所做的顶点制作indexData和textureCoordination。
答案 0 :(得分:0)
TexturedFixture polygon = fixture.UserData as TexturedFixture;
effect.Texture = polygon.Texture;
effect.CurrentTechnique.Passes[0].Apply();
VertexPositionColorTexture[] points;
int vertexCount;
int[] indices;
int triangleCount;
polygon.Polygon.GetTriangleList(fixture.Body.Position, fixture.Body.Rotation, out points, out vertexCount, out indices, out triangleCount);
GraphicsDevice.SamplerStates[0] = SamplerState.AnisotropicClamp;
GraphicsDevice.RasterizerState = new RasterizerState() { FillMode = FillMode.Solid, CullMode = CullMode.None, };
GraphicsDevice.DrawUserIndexedPrimitives<VertexPositionColorTexture>(PrimitiveType.TriangleList, points, 0, vertexCount, indices, 0, triangleCount);
这样就可以了解