2013-06-18 5 views
0

Моя проблема началась, когда я делал пример текстуры в вершинах (https://gamedev.stackexchange.com/questions/30050/building-a-shape-out-of-an-texture-with-farseer), после чего я всплываю, если его можно передать этим «дальним вершинам» в данные вершин, которые можно использовать в DrawUserIndexedPrimitives для того, чтобы вершины были готовы к модификации на альфа-текстурах.как перейти из списка переходов farerser в vertexpositioncolortexture data vertex

Пример: Вы рисуете текстуру (с прозрачностью в некоторых местах) над данными треугольника полоса вершины, так что вы можете манипулировать пункты, чтобы disort изображения вроде этого: http://www.tutsps.com/images/Water_Design_avec_Photoshop/Water_Design_avec_Photoshop_20.jpg

Как вы можете видеть Письмо было просто нормальным изображением в PNG-файле, но после того, как конвертер iam посмотрел, его можно использовать для удаления изображения.

плз любое решение дать код или ссылку на учебник, который может помочь мне выяснить это ...

Спасибо всем !!

P.D. Я думаю, что основная проблема заключается в том, как сделать indexData и textureCoordination только из вершин, которые делает PolygonTools.CreatePolygon.

ответ

0

TexturedFixture polygon = fixture.UserData как 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); 

Это будет делать трюк