Difference between revisions of "Texture.new"

(rawalpha)
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
'''Available since:''' Gideros 2011.6<br/>
 
'''Available since:''' Gideros 2011.6<br/>
 +
'''Class:''' [[Texture]]<br/>
 +
 
=== Description ===
 
=== Description ===
<br />
+
Creates a new Texture object.
Creates a new Texture object.<br />
 
<br />
 
 
<source lang="lua">
 
<source lang="lua">
Texture.new(filename,filtering,options)
+
Texture.new(filename,filtering,options)
 
</source>
 
</source>
 +
 
=== Parameters ===
 
=== Parameters ===
'''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 paramaters. Currently, "transparentColor", "wrap", "format" and "extend" fields are supported. '''optional'''<br/>
+
'''options''': (table, optional) a table that specifies optional paramaters. The following options are supported:<br/>
=== Examples ===
+
 
'''Example'''<br/>
+
* '''transparentColor''': specifies which color stands for transparent for formats that don't supply an alpha channel such as JPEG
<source lang="lua">local texture = Texture.new(&quot;image.png&quot;, false, {transparentColor = 0xff00ff}) -- do not filter and make the color 0xff00ff transparent<br />
+
* '''wrap''': how to treat texels outside the texture. Possible values are Texture.CLAMP and Texture.REPEAT
local texture = Texture.new(&quot;image.png&quot;, true, {wrap = Texture.REPEAT}) -- enable filtering and repeat the texture<br /></source>
+
* '''format''': the GPU pixel format for the texture
 +
* '''extend''': whether the texture should be extended to a power of two size. Defaults to true
 +
* '''scale''': the scale at which this texture was made, if it cannot be determined by a suffix. Defaults to 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''')
 +
 
 +
=== Example ===
 +
<source lang="lua">
 +
-- 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})
 +
</source>
 +
 
 +
 
 +
----
 +
 
 
__NOTOC__
 
__NOTOC__
 
'''Available since:''' Gideros 2016.08<br/>
 
'''Available since:''' Gideros 2016.08<br/>
 +
'''Class:''' [[Texture]]<br/>
 +
 
=== Description ===
 
=== Description ===
Create 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>
 +
 
=== Parameters ===
 
=== Parameters ===
'''pixels''': (string) A string containing actual R,G,B,A compoents 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 <br/>
+
'''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<br/>
'''width''': (number) width of the texture to create <br/>
+
'''width''': (number) width of the texture to create<br/>
'''height''': (number) Height of the texture to create <br/>
+
'''height''': (number) height of the texture to create<br/>
'''filtering''': (boolean, default to false) indicate 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 paramaters. Currently, "transparentColor", "wrap", "format" and "extend" fields are supported. '''optional'''<br/>
+
'''options''': (table, optional) a table that specifies optional paramaters. The following options are supported:<br/>
=== Examples ===
+
 
'''Example'''<br/>
+
* '''transparentColor''': specifies which color stands for transparent for formats that don't supply an alpha channel such as JPEG
<source lang="lua">local texture = Texture.new(nil,300,400;, false, {extend=false}) -- Create a 300x400 empty texture. Prevent gideros from extending the texture to the next power of two size<br /></source>
+
* '''wrap''': how to treat texels outside the texture. Possible values are Texture.CLAMP and Texture.REPEAT
 +
* '''format''': the GPU pixel format for the texture
 +
* '''extend''': whether the texture should be extended to a power of two size. Defaults to true
 +
* '''scale''': the scale at which this texture was made, if it cannot be determined by a suffix. Defaults to 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''')
 +
 
 +
=== Example ===
 +
<source lang="lua">
 +
-- 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})
 +
</source>
 +
 
 +
{{Texture}}

Latest revision as of 05:22, 4 June 2022

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 paramaters. The following options are supported:

  • transparentColor: specifies 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
  • format: the GPU pixel format for the texture
  • extend: whether the texture should be extended to a power of two size. Defaults to true
  • scale: the scale at which this texture was made, if it cannot be determined by a suffix. Defaults to 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)

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 paramaters. The following options are supported:

  • transparentColor: specifies 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
  • format: the GPU pixel format for the texture
  • extend: whether the texture should be extended to a power of two size. Defaults to true
  • scale: the scale at which this texture was made, if it cannot be determined by a suffix. Defaults to 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)

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})