I've tried making replacing the material with an image of a gradient but that did not work, I've also looked into vertex shaders but those seemed to use inputs from the scene while rendering to change the color where as I just want one constant effect.
I also tried seeing if I could manually set an opacity for each point on the curve but there didn't seem to be a way to do that either.
Here's the section of code that make the ellipses, don't mind some of the specific variables in use, it's part of a project I've been working on for a while.
var curve = new THREE.EllipseCurve(
foci(1000 * earth_barycenter.Data[9] * base.a, semiminor(1000 * earth_barycenter.Data[9] * base.a, base.e)), 0, // where the middle is
1000 * earth_barycenter.Data[9] * base.a, semiminor(1000 * earth_barycenter.Data[9] * base.a, base.e), // xRadius, yRadius
0, 2 * Math.PI, // aStartAngle, aEndAngle
false, // aClockwise
0 // aRotation
);
var material = color
var geometry = new THREE.BufferGeometry().setFromPoints(curve.getPoints(points))
var orbit = new THREE.Line(geometry, material);
scene.add(orbit);
The effect I'm going for is pretty much this:
And this is what I currently have: