Create a texture to apply to a surface or as a reflection or refraction map.
// load a texture, set wrap mode to repeat
var texture = new v3d.TextureLoader().load("textures/water.jpg");
texture.wrapS = v3d.RepeatWrapping;
texture.wrapT = v3d.RepeatWrapping;
texture.repeat.set(4, 4);
Readonly - unique number for this texture instance.
UUID of this object instance. This gets automatically assigned, so this shouldn't be edited.
Optional name of the object (doesn't need to be unique). Default is an empty string.
An image object, typically created using the TextureLoader.load method.
This can be any image (e.g., PNG, JPG, GIF, DDS) or video (e.g., MP4, OGG/OGV) type supported by Verge3D.
To use video as a texture you need to have a playing HTML5
video element as a source for your texture image and continuously update this texture
as long as video is playing - the VideoTexture class handles this automatically.
Array of user-specified mipmaps (optional).
How the image is applied to the object. An object type of v3d.UVMapping is the default,
where the U,V coordinates are used to apply the map.
See the texture constants page for other mapping types.
This defines how the texture is wrapped horizontally and corresponds to U in UV mapping.
The default is v3d.ClampToEdgeWrapping, where the edge is clamped to the outer edge texels.
The other two choices are v3d.RepeatWrapping and v3d.MirroredRepeatWrapping.
See the texture constants page for details.
This defines how the texture is wrapped vertically and corresponds to V in UV mapping.
The same choices are available as for # .wrapS : number.
NOTE: tiling of images in textures only functions if image dimensions are powers of two
(2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, ...) in terms of pixels.
Individual dimensions need not be equal, but each must be a power of two.
This is a limitation of WebGL, not Verge3D.
How the texture is sampled when a texel covers more than one pixel. The default is
v3d.LinearFilter, which takes the four closest texels and bilinearly interpolates among them.
The other option is v3d.NearestFilter, which uses the value of the closest texel.
See the texture constants page for details.
How the texture is sampled when a texel covers less than one pixel. The default is
v3d.LinearMipMapLinearFilter, which uses mipmapping and a trilinear filter.
See the texture constants page for all possible choices.
The number of samples taken along the axis through the pixel that has the highest density of texels. By default, this value is 1. A higher value gives a less blurry result than a basic mipmap, at the cost of more texture samples being used. Use renderer.getMaxAnisotropy() to find the maximum valid anisotropy value for the GPU; this value is usually a power of 2.
The default is v3d.RGBAFormat, although the TextureLoader will automatically
set this to v3d.RGBFormat for JPG images.
See the texture constants page for details of other formats.
This must correspond to the .format. The default is v3d.UnsignedByteType,
which will be used for most texture formats.
See the texture constants page for details of other formats.
How much a single repetition of the texture is offset from the beginning, in each direction U and V. Typical range is 0.0 to 1.0. _Note:_ The offset property is a convenience modifier and only affects the Texture's application to the first set of UVs on a model. If the Texture is used as a map requiring additional UV sets (e.g. the aoMap or lightMap of most stock materials), those UVs must be manually assigned to achieve the desired offset.
How many times the texture is repeated across the surface, in each direction U and V. If repeat is set greater than 1 in either direction, the corresponding Wrap parameter should also be set to v3d.RepeatWrapping or v3d.MirroredRepeatWrapping to achieve the desired tiling effect. _Note:_ The repeat property is a convenience modifier and only affects the Texture's application to the first set of UVs on a model. If the Texture is used as a map requiring additional UV sets (e.g. the aoMap or lightMap of most stock materials), those UVs must be manually assigned to achieve the desired repetiton.
How much the texture is rotated around the center point, in radians. Positive values are counter-clockwise. Default is 0.
The point around which rotation occurs. A value of (0.5, 0.5) corresponds to the center of the texture. Default is (0, 0), the lower left.
Whether to update the texture's uv-transform .matrix from the texture properties .offset, .repeat, .rotation, and .center. True by default. Set this to false if you are specifying the uv-transform matrix directly.
The uv-transform matrix for the texture. Updated by the renderer from the texture properties .offset, .repeat, .rotation, and .center when the texture's .matrixAutoUpdate property is true. When .matrixAutoUpdate property is false, this matrix may be set manually. Default is the identity matrix.
Whether to generate mipmaps (if possible) for a texture. True by default. Set this to false if you are creating mipmaps manually.
False by default, which is the norm for PNG images. Set to true if the RGB values have been stored premultiplied by alpha.
True by default. Flips the image's Y axis to match the WebGL texture coordinate space.
4 by default. Specifies the alignment requirements for the start of each pixel row in memory. The allowable values are 1 (byte-alignment), 2 (rows aligned to even-numbered bytes), 4 (word-alignment), and 8 (rows start on double-word boundaries). See glPixelStorei for more information.
v3d.LinearEncoding is the default.
See the texture constants page for details of other formats.
Note that if this value is changed on a texture after the material has been used,
it is necessary to trigger a Material.needsUpdate for this value to be realized in the shader.
This starts at 0 and counts how many times # .needsUpdate : Booleanis set to true.
A callback function, called when the texture is updated (e.g., when needsUpdate has been set to true and then the texture is used).
Set this to true to trigger an update next time the texture is used. Particularly important for setting the wrap mode.
Update the texture's uv-transform .matrix from the texture properties .offset, .repeat, .rotation, and .center.
Make copy of the texture. Note this is not a "deep copy", the image is shared.
meta -- optional object containing metadata.
Convert the material to Verge3D JSON format.
Call EventDispatcher.dispatchEvent with a 'dispose' event type.
Transform the uv based on the value of this texture's .offset, .repeat, .wrapS, .wrapT and .flipY properties.
For more info on how to obtain the source code of this module see this page.