diff --git a/Graphics/Entity.cpp b/Graphics/Entity.cpp index 5a157a854c35aa333704cd70d1d682a7bf7046e2..8b5c2c0e35defea5f65db1634e244455ad165f55 100644 --- a/Graphics/Entity.cpp +++ b/Graphics/Entity.cpp @@ -384,7 +384,8 @@ void Draw_Vector(int Type, int Fill, } glBegin(GL_LINES); glVertex3d(x + dx, y + dy, z + dz); - //glColor4ubv((GLubyte *) & CTX.color.bg); + // color gradient + glColor4ubv((GLubyte *) & CTX.color.bg); glVertex3d(x, y, z); glEnd(); break; diff --git a/Graphics/Post.cpp b/Graphics/Post.cpp index 1d23d6ae243b1846237b45499b5473ddcf7767c8..2c3f688b409e0940b4bb5c99e14b5fa3e6bf8b82 100644 --- a/Graphics/Post.cpp +++ b/Graphics/Post.cpp @@ -1065,7 +1065,7 @@ static void drawVectorArray(PView *p, VertexArray *va) glColor4ubv((GLubyte *)va->getColorArray(4 * i)); double l = sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]); double lmax = opt->ArrowSizeProportional ? opt->TmpMax : l; - if(l && lmax){ + if((l || opt->VectorType == 6) && lmax){ double scale = opt->ArrowSize / lmax; // log scaling if(opt->ScaleType == PViewOptions::Logarithmic && @@ -1075,8 +1075,9 @@ static void drawVectorArray(PView *p, VertexArray *va) log10(l / opt->TmpMin) / log10(opt->TmpMax / opt->TmpMin); } double px = v[0] * scale, py = v[1] * scale, pz = v[2] * scale; - // only draw vectors larger than 1 pixel on screen - if(fabs(px) > 1. || fabs(py) > 1. || fabs(pz) > 1.){ + // only draw vectors larger than 1 pixel on screen, except when + // drawing "comet" glyphs + if(opt->VectorType == 6 || fabs(px) > 1. || fabs(py) > 1. || fabs(pz) > 1.){ double d = CTX.pixel_equiv_x / CTX.s[0]; double dx = px * d, dy = py * d, dz = pz * d; double x = s[0], y = s[1], z = s[2];