however, when I spawn a sprite, It shares the same texture as the very last Sprite in the list. Make sure you disable any filtering. Remarks. A texture can generally be thought of as a 2D image stored in memory. Let's start with a simple Sprite using a Texture (picture) loaded from the Android drawables. Playing with the Sprites. Unfortunately, minimizing draw calls isn't always easy. Seperate images are separate draw calls. It's often impractical or impossible to draw all your geometry at once because the geometry must share the same texture(s). Building your atlases is a step that takes all of the textures used by all sprites that share the same material or Sprite Manager, and packs them together onto a single texture. Pixi doesn't change images. FishIE used a single sprite from the beginning, which made it easy to draw everything at once. For example you can have several 3D objects in the background pass, and several Sprites in the forground pass. If you really must use filtering, ensure that you leave a gutter area around each image to account for the filtering. The reasoning behind this is that any kind of filtering will blur one texture/sprite into the next. Calls AddRef on all of the textures when they are passed into ID3DX10Sprite::DrawSpritesBuffered. If you have 10,000 Textures used by 10,000 different sprites, but they all share the same BaseTexture then you will only have a single draw call. Fortunately, while this is not documented yet, I also found that it's quite easy now in recent versions (r73 at least, perhaps r72 as well) to force the textures to share the GPU memory by making sure they all have the same .uuid value. The color that you set is modulated (multiplied) with the texture of the sprite. Most importantly, all Sprites attached to a Particle System must share the same texture. Before we can proceed too far we need a texture to draw. This can also be used to change the global transparency (alpha) of the sprite. Unload Connected : Call UnloadAsset on all connected sprites. This is the same for every sprite in my list. So, Sprite 1 should have texture 1, but it has the texture of sprite 128. This can be achieved by using a Multiple Mode Sprite, or by using the Sprite Packer. Thus, the original mesh geometry is not modied and can be op-timized for rendering (triangle strips, level of details) indepen- Sprites can't be rotated independently, as rotation is set in their material. This is helpful for when there are many sprites with the same texture all on the same plane, such as when drawing the user … The draw pipeline includes Render passes. In the “real world” that generally means bmp, jpg or png formats and there is something to be aware of right away. I expect this to not work, since there are someone in the scene that are using them. I see no reason the rotation attribute couldn't and shouldn't be stored on the Sprite structure instead of the SpriteMaterial structure. If you want to rotate sprites independently you must assign each one a different material, even if they share the same texture. For performance reasons, you want as many of your sprites as possible to share a single material, and that means they must also share a texture atlas. A few other notes on texture "atlases" as they're usually called, or sprite sheets. Unload Connected Inner : The same but instead of doing it on Sprite I goes one step further into Sprite.texture; Remove Reference : Remove all the reference of sprites. If using custom pivot points for each Sprite, please note that you cannot blend between their frames, because the geometry will be different between each frame. The source image of a texture can be in bmp, dds, dib, hdr, jpg, pfm, png, ppm or tga formats. After a front-to-back or back-to-front sort is done, it will automatically do a secondary sort by texture. Many sprites share a same texture pattern and information is stored only around the surface. The structure is encoded into GPU texture memory and is ac-cessed from a fragment program using 3D texture coordinates.