reckfellENGINE

CurveXyzTexture

A one-pixel-high data strip generated from Curve.

On this page
class CurveXyzTextureReckfellSharpInherits Texture2D

CurveXyzTexture generates a float texture: CurveX → R, CurveY → G, CurveZ → B in RGBF. Assign Curve sources and Width (32…4096). Sources are shared references whose Changed notification regenerates pixels; an absent curve supplies a zero channel. Values above 1 survive without a separate HDR flag.

Sampling uses Curve.SampleBaked(i/Width), not i/(Width−1). The final pixel does not sample exactly 1. Prepare a 0…1 Curve domain for a full-range lookup: other domains are not automatically remapped. No mipmaps are generated.

In the current implementation inherited GetImage() returns null even when GPU pixels exist. For occasional diagnostics obtain an Image through RenderingServer.Texture2DGet(texture.GetRid()); dispose the returned Image after use. Avoid per-frame GPU readbacks. Editing source BakeResolution requires EmitChanged() to refresh the texture.

GPU data, shared-source updates and resource persistence were checked in Windows Forward+/Vulkan. This run does not establish shader sampling, performance or graphics quality.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

CurveXyzTextureConstructor
# CurveXyzTexture
C#
public CurveXyzTexture();

Creates a width-256 strip with no Curve sources. Construction does not guarantee initialized pixels before the first update.

Properties4

CurveXProperty
# CurveX
C#
public Curve CurveX { get; set; }

A shared Curve reference, initially null. Its Changed notification regenerates pixels. Null fills the channel with zero. Sampling always uses 0…1 even when the Curve domain differs. This controls channel R. One Curve can supply multiple channels.

CurveYProperty
# CurveY
C#
public Curve CurveY { get; set; }

A shared Curve reference, initially null. Its Changed notification regenerates pixels. Null fills the channel with zero. Sampling always uses 0…1 even when the Curve domain differs. This controls channel G. One Curve can supply multiple channels.

CurveZProperty
# CurveZ
C#
public Curve CurveZ { get; set; }

A shared Curve reference, initially null. Its Changed notification regenerates pixels. Null fills the channel with zero. Sampling always uses 0…1 even when the Curve domain differs. This controls channel B. One Curve can supply multiple channels.

WidthProperty
# Width
C#
public int Width { get; set; }

Strip width 32…4096, initially 256; height is always 1. Samples use i/Width, so the final pixel does not reach coordinate 1. No mipmaps are generated.

Methods7

GetCurveXCurve
# GetCurveX
C#
public Curve GetCurveX();

A shared Curve reference, initially null. Its Changed notification regenerates pixels. Null fills the channel with zero. Sampling always uses 0…1 even when the Curve domain differs. This controls channel R. One Curve can supply multiple channels.

Returns Curve

The current shared Curve or null, not a copy.

GetCurveYCurve
# GetCurveY
C#
public Curve GetCurveY();

A shared Curve reference, initially null. Its Changed notification regenerates pixels. Null fills the channel with zero. Sampling always uses 0…1 even when the Curve domain differs. This controls channel G. One Curve can supply multiple channels.

Returns Curve

The current shared Curve or null, not a copy.

GetCurveZCurve
# GetCurveZ
C#
public Curve GetCurveZ();

A shared Curve reference, initially null. Its Changed notification regenerates pixels. Null fills the channel with zero. Sampling always uses 0…1 even when the Curve domain differs. This controls channel B. One Curve can supply multiple channels.

Returns Curve

The current shared Curve or null, not a copy.

SetCurveXvoid
# SetCurveX
C#
public void SetCurveX(Curve curve);

A shared Curve reference, initially null. Its Changed notification regenerates pixels. Null fills the channel with zero. Sampling always uses 0…1 even when the Curve domain differs. This controls channel R. One Curve can supply multiple channels.

Parameters
NameTypeDefault
curveCurve—
curve

A shared Curve reference, initially null. Its Changed notification regenerates pixels. Null fills the channel with zero. Sampling always uses 0…1 even when the Curve domain differs.

SetCurveYvoid
# SetCurveY
C#
public void SetCurveY(Curve curve);

A shared Curve reference, initially null. Its Changed notification regenerates pixels. Null fills the channel with zero. Sampling always uses 0…1 even when the Curve domain differs. This controls channel G. One Curve can supply multiple channels.

Parameters
NameTypeDefault
curveCurve—
curve

A shared Curve reference, initially null. Its Changed notification regenerates pixels. Null fills the channel with zero. Sampling always uses 0…1 even when the Curve domain differs.

SetCurveZvoid
# SetCurveZ
C#
public void SetCurveZ(Curve curve);

A shared Curve reference, initially null. Its Changed notification regenerates pixels. Null fills the channel with zero. Sampling always uses 0…1 even when the Curve domain differs. This controls channel B. One Curve can supply multiple channels.

Parameters
NameTypeDefault
curveCurve—
curve

A shared Curve reference, initially null. Its Changed notification regenerates pixels. Null fills the channel with zero. Sampling always uses 0…1 even when the Curve domain differs.

SetWidthvoid
# SetWidth
C#
public void SetWidth(int width);

Strip width 32…4096, initially 256; height is always 1. Samples use i/Width, so the final pixel does not reach coordinate 1. No mipmaps are generated.

Parameters
NameTypeDefault
widthint—
width

Strip width 32…4096, initially 256; height is always 1. Samples use i/Width, so the final pixel does not reach coordinate 1. No mipmaps are generated.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.