Files
godot-docs/classes/class_curvetexture.rst
2022-07-27 13:59:06 +02:00

103 lines
4.5 KiB
ReStructuredText

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CurveTexture.xml.
.. _class_CurveTexture:
CurveTexture
============
**Inherits:** :ref:`Texture2D<class_Texture2D>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
A texture that shows a curve.
Description
-----------
Renders a given :ref:`Curve<class_Curve>` provided to it. Simplifies the task of drawing curves and/or saving them as image files.
If you need to store up to 3 curves within a single texture, use :ref:`CurveXYZTexture<class_CurveXYZTexture>` instead. See also :ref:`GradientTexture1D<class_GradientTexture1D>` and :ref:`GradientTexture2D<class_GradientTexture2D>`.
Properties
----------
+---------------------------------------------------+---------------------------------------------------------------+---------+
| :ref:`Curve<class_Curve>` | :ref:`curve<class_CurveTexture_property_curve>` | |
+---------------------------------------------------+---------------------------------------------------------------+---------+
| :ref:`TextureMode<enum_CurveTexture_TextureMode>` | :ref:`texture_mode<class_CurveTexture_property_texture_mode>` | ``0`` |
+---------------------------------------------------+---------------------------------------------------------------+---------+
| :ref:`int<class_int>` | :ref:`width<class_CurveTexture_property_width>` | ``256`` |
+---------------------------------------------------+---------------------------------------------------------------+---------+
Enumerations
------------
.. _enum_CurveTexture_TextureMode:
.. _class_CurveTexture_constant_TEXTURE_MODE_RGB:
.. _class_CurveTexture_constant_TEXTURE_MODE_RED:
enum **TextureMode**:
- **TEXTURE_MODE_RGB** = **0** --- 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.
- **TEXTURE_MODE_RED** = **1** --- Store the curve only in the red channel. This saves video memory, but some custom shaders may not be able to work with this.
Property Descriptions
---------------------
.. _class_CurveTexture_property_curve:
- :ref:`Curve<class_Curve>` **curve**
+----------+------------------+
| *Setter* | set_curve(value) |
+----------+------------------+
| *Getter* | get_curve() |
+----------+------------------+
The :ref:`Curve<class_Curve>` that is rendered onto the texture.
----
.. _class_CurveTexture_property_texture_mode:
- :ref:`TextureMode<enum_CurveTexture_TextureMode>` **texture_mode**
+-----------+-------------------------+
| *Default* | ``0`` |
+-----------+-------------------------+
| *Setter* | set_texture_mode(value) |
+-----------+-------------------------+
| *Getter* | get_texture_mode() |
+-----------+-------------------------+
The format the texture should be generated with. When passing a CurveTexture as a input to a :ref:`Shader<class_Shader>`, this may need to be adjusted.
----
.. _class_CurveTexture_property_width:
- :ref:`int<class_int>` **width**
+-----------+------------------+
| *Default* | ``256`` |
+-----------+------------------+
| *Setter* | set_width(value) |
+-----------+------------------+
| *Getter* | get_width() |
+-----------+------------------+
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.
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`