2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 10:08:05 +02:00
<class name= "CurveTexture" inherits= "Texture2D" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 22:42:36 +02:00
<brief_description >
2023-06-24 13:19:58 +02:00
A 1D texture where pixel brightness corresponds to points on a curve.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2023-06-24 13:19:58 +02:00
A 1D texture where pixel brightness corresponds to points on a [Curve] resource, either in grayscale or in red. This visual representation simplifies the task of saving curves as image files.
2022-06-10 22:56:35 +02:00
If you need to store up to 3 curves within a single texture, use [CurveXYZTexture] instead. See also [GradientTexture1D] and [GradientTexture2D].
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<members >
2019-07-15 20:42:47 +02:00
<member name= "curve" type= "Curve" setter= "set_curve" getter= "get_curve" >
2022-06-10 22:56:35 +02:00
The [Curve] that is rendered onto the texture.
2017-09-12 22:42:36 +02:00
</member>
2022-11-09 08:59:49 +01:00
<member name= "resource_local_to_scene" type= "bool" setter= "set_local_to_scene" getter= "is_local_to_scene" overrides= "Resource" default= "false" />
2021-07-01 20:25:35 +02:00
<member name= "texture_mode" type= "int" setter= "set_texture_mode" getter= "get_texture_mode" enum= "CurveTexture.TextureMode" default= "0" >
2023-05-02 00:09:49 +02:00
The format the texture should be generated with. When passing a CurveTexture as an input to a [Shader], this may need to be adjusted.
2021-07-01 20:25:35 +02:00
</member>
2022-01-29 00:28:10 +01:00
<member name= "width" type= "int" setter= "set_width" getter= "get_width" default= "256" >
2022-06-10 22:56:35 +02:00
The width of the texture (in pixels). Higher values make it possible to represent high-frequency data better (such as sudden direction changes), at the cost of increased generation time and memory usage.
2017-09-12 22:42:36 +02:00
</member>
</members>
<constants >
2021-07-01 20:25:35 +02:00
<constant name= "TEXTURE_MODE_RGB" value= "0" enum= "TextureMode" >
2022-06-10 22:56:35 +02:00
Store the curve equally across the red, green and blue channels. This uses more video memory, but is more compatible with shaders that only read the green and blue values.
2021-07-01 20:25:35 +02:00
</constant>
<constant name= "TEXTURE_MODE_RED" value= "1" enum= "TextureMode" >
2022-06-10 22:56:35 +02:00
Store the curve only in the red channel. This saves video memory, but some custom shaders may not be able to work with this.
2021-07-01 20:25:35 +02:00
</constant>
2017-09-12 22:42:36 +02:00
</constants>
</class>