Merge pull request #2280 from SiboVG/issue-2279

[#2279] Change transition 3D fine-rendering based on aft/fore
This commit is contained in:
Sibo Van Gool 2023-08-01 01:58:30 +02:00 committed by GitHub
commit 2e77780241
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -123,7 +123,7 @@ final class TransitionRenderer {
private TransitionRenderer() {
}
static final void drawTransition(final GL2 gl, final Transition tr,
static void drawTransition(final GL2 gl, final Transition tr,
final int slices, final int stacks, final double offsetRadius) {
double da, r, dzBase;
@ -131,14 +131,16 @@ final class TransitionRenderer {
int i;
da = 2.0f * Math.PI / slices;
dzBase = (double) tr.getLength() / stacks;
dzBase = tr.getLength() / stacks;
double ds = 1.0f / slices;
z = 0.0f;
r = (double) tr.getForeRadius();
while (z < tr.getLength()) {
double t = z / tr.getLength();
if (tr.getForeRadius() > tr.getAftRadius()) {
t = 1 - t;
}
double dz = t < 0.025 ? dzBase / 8.0 : dzBase;
double zNext = Math.min(z + dz, tr.getLength());