Difference between revisions of "Texture.new"
(rawalpha) |
|||
Line 12: | Line 12: | ||
'''filename''': (string) the name of the texture file to be loaded<br/> | '''filename''': (string) the name of the texture file to be loaded<br/> | ||
'''filtering''': (boolean, default = false) whether or not the texture is filtered<br/> | '''filtering''': (boolean, default = false) whether or not the texture is filtered<br/> | ||
− | '''options''': (table, optional) a table that specifies optional | + | '''options''': (table, optional) a table that specifies optional parameters. The following options are supported:<br/> |
− | * '''transparentColor''': | + | * '''transparentColor''': specify which color stands for transparent for formats that don't supply an alpha channel such as JPEG |
− | * '''wrap''': how to treat texels outside the texture. Possible values are Texture.CLAMP and Texture.REPEAT | + | * '''wrap''': how to treat texels outside the texture. Possible values are default '''Texture.CLAMP''' and Texture.REPEAT |
− | * '''format''': the GPU pixel format for the texture | + | * '''format''': the GPU pixel format for the texture, default '''RGBA8888''' |
− | * '''extend''': whether the texture should be extended to a power of two size | + | * '''extend''': whether the texture should be extended to a power of two size, default '''true''' |
− | * '''scale''': the scale at which this texture was made, if it cannot be determined by a suffix | + | * '''scale''': the scale at which this texture was made, if it cannot be determined by a suffix, default '''1''' |
− | * '''rawalpha''': disable alpha premultiplication. This can be helpful if one wants to store specific data in the alpha channel of a texture along with a dedicated shader ('''new 2022.3''') | + | * '''rawalpha''': disable alpha premultiplication. This can be helpful if one wants to store specific data in the alpha channel of a texture along with a dedicated shader ('''new 2022.3'''), default '''false''' |
+ | * '''mipmap''': enable mipmaping ('''new 2022.6'''), default '''false''' | ||
=== Example === | === Example === | ||
Line 39: | Line 40: | ||
Creates a texture from pixel data. | Creates a texture from pixel data. | ||
<source lang="lua"> | <source lang="lua"> | ||
− | Texture.new(pixels, width, height, filtering, options) | + | Texture.new(pixels,width,height,filtering,options) |
</source> | </source> | ||
Line 47: | Line 48: | ||
'''height''': (number) height of the texture to create<br/> | '''height''': (number) height of the texture to create<br/> | ||
'''filtering''': (boolean, default to false) indicates that the texture should be filtered '''optional'''<br/> | '''filtering''': (boolean, default to false) indicates that the texture should be filtered '''optional'''<br/> | ||
− | '''options''': (table, optional) a table that specifies optional | + | '''options''': (table, optional) a table that specifies optional parameters. The following options are supported:<br/> |
− | * '''transparentColor''': | + | * '''transparentColor''': specify which color stands for transparent for formats that don't supply an alpha channel such as JPEG |
− | * '''wrap''': how to treat texels outside the texture. Possible values are Texture.CLAMP and Texture.REPEAT | + | * '''wrap''': how to treat texels outside the texture. Possible values are default '''Texture.CLAMP''' and Texture.REPEAT |
− | * '''format''': the GPU pixel format for the texture | + | * '''format''': the GPU pixel format for the texture, default '''RGBA8888''' |
− | * '''extend''': whether the texture should be extended to a power of two size | + | * '''extend''': whether the texture should be extended to a power of two size, default '''true''' |
− | * '''scale''': the scale at which this texture was made, if it cannot be determined by a suffix | + | * '''scale''': the scale at which this texture was made, if it cannot be determined by a suffix, default '''1''' |
− | * '''rawalpha''': disable alpha premultiplication. This can be helpful if one wants to store specific data in the alpha channel of a texture along with a dedicated shader ('''new 2022.3''') | + | * '''rawalpha''': disable alpha premultiplication. This can be helpful if one wants to store specific data in the alpha channel of a texture along with a dedicated shader ('''new 2022.3'''), default '''false''' |
+ | * '''mipmap''': enable mipmaping ('''new 2022.6'''), default '''false''' | ||
=== Example === | === Example === |
Revision as of 03:09, 28 January 2023
Available since: Gideros 2011.6
Class: Texture
Description
Creates a new Texture object.
Texture.new(filename,filtering,options)
Parameters
filename: (string) the name of the texture file to be loaded
filtering: (boolean, default = false) whether or not the texture is filtered
options: (table, optional) a table that specifies optional parameters. The following options are supported:
- transparentColor: specify which color stands for transparent for formats that don't supply an alpha channel such as JPEG
- wrap: how to treat texels outside the texture. Possible values are default Texture.CLAMP and Texture.REPEAT
- format: the GPU pixel format for the texture, default RGBA8888
- extend: whether the texture should be extended to a power of two size, default true
- scale: the scale at which this texture was made, if it cannot be determined by a suffix, default 1
- rawalpha: disable alpha premultiplication. This can be helpful if one wants to store specific data in the alpha channel of a texture along with a dedicated shader (new 2022.3), default false
- mipmap: enable mipmaping (new 2022.6), default false
Example
-- do not filter and make the color 0xff00ff transparent
local texture = Texture.new("image.png", false, {transparentColor = 0xff00ff})
-- enable filtering and repeat the texture
local texture = Texture.new("image.png", true, {wrap = Texture.REPEAT})
Available since: Gideros 2016.08
Class: Texture
Description
Creates a texture from pixel data.
Texture.new(pixels,width,height,filtering,options)
Parameters
pixels: (string) a string containing actual R,G,B,A components of each pixel in the new texture. Each component is stored as a byte. You can pass nil if you don't need to initialize texture content
width: (number) width of the texture to create
height: (number) height of the texture to create
filtering: (boolean, default to false) indicates that the texture should be filtered optional
options: (table, optional) a table that specifies optional parameters. The following options are supported:
- transparentColor: specify which color stands for transparent for formats that don't supply an alpha channel such as JPEG
- wrap: how to treat texels outside the texture. Possible values are default Texture.CLAMP and Texture.REPEAT
- format: the GPU pixel format for the texture, default RGBA8888
- extend: whether the texture should be extended to a power of two size, default true
- scale: the scale at which this texture was made, if it cannot be determined by a suffix, default 1
- rawalpha: disable alpha premultiplication. This can be helpful if one wants to store specific data in the alpha channel of a texture along with a dedicated shader (new 2022.3), default false
- mipmap: enable mipmaping (new 2022.6), default false
Example
-- Create a 300x400 empty texture. Prevent gideros from extending the texture to the next power of two size
local texture = Texture.new(nil,300,400, false, {extend=false})