updateMipmaps
is true
, the mipmap levels are recalculated as well, using
the base level as a source. Usually you want to use true
in all cases except when
you've modified the mip levels yourself using SetPixels.
By default updateMipmaps
is set to true
.If makeNoLongerReadable
is true
, texture will be marked as no longer readable
and memory will be freed after uploading to GPU.
By default makeNoLongerReadable
is set to false
.This is a potentially expensive operation, so you'll want to change as many pixels
as possible between Apply
calls.The texture has to have Is Readable flag set in the import settings.function Start () { // Create a new texture and assign it to the renderer's material var texture = new Texture2D(128, 128); renderer.material.mainTexture = texture; // Fill the texture with Sierpinski's fractal pattern! for (var y : int = 0; y < texture.height; ++y) { for (var x : int = 0; x < texture.width; ++x) { var color = (x&y) ? Color.white : Color.gray; texture.SetPixel (x, y, color); } } // Apply all SetPixel calls texture.Apply(); }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { void Start() { Texture2D texture = new Texture2D(128, 128); renderer.material.mainTexture = texture; int y = 0; while (y < texture.height) { int x = 0; while (x < texture.width) { Color color = ((x & y) ? Color.white : Color.gray); texture.SetPixel(x, y, color); ++x; } ++y; } texture.Apply(); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): def Start() as void: texture as Texture2D = Texture2D(128, 128) renderer.material.mainTexture = texture y as int = 0 while y < texture.height: x as int = 0 while x < texture.width: color as Color = (Color.white if (x & y) else Color.gray) texture.SetPixel(x, y, color) ++x ++y texture.Apply()