Skip to content

Commit 8e8300f

Browse files
committed
Gradient: add utils to fill texture array with gradients data
1 parent e57938b commit 8e8300f

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

hrt/impl/Gradient.hx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,23 @@ class Gradient {
193193
}
194194
#end
195195

196+
public static function fillTexArrayFromData(tex : h3d.mat.TextureArray, data : GradientData, idx : Int) {
197+
function genPixels(data : hrt.impl.Gradient.GradientData) : hxd.Pixels {
198+
var xScale = data.isVertical ? 0 : 1;
199+
var yScale = 1 - xScale;
200+
var pixels = hxd.Pixels.alloc(data.resolution * xScale + 1 * yScale,1 * xScale + data.resolution * yScale, ARGB);
201+
202+
var vec = new h3d.Vector4();
203+
for (x in 0...data.resolution) {
204+
hrt.impl.Gradient.evalData(data, x / (data.resolution-1), vec);
205+
pixels.setPixelF(x * xScale,x*yScale, vec);
206+
}
207+
return pixels;
208+
}
209+
210+
tex.uploadPixels(genPixels(data), 0, idx);
211+
}
212+
196213
public static function textureFromData(data : GradientData) : h3d.mat.Texture {
197214
function genPixels() {
198215
var xScale = data.isVertical ? 0 : 1;

0 commit comments

Comments
 (0)