Rock: I believe we have almost the same approach in rendering 2d volume lines:
sub draw_line_glow ( byval x1 as single, byval y1 as single, byval x2 as single, byval y2 as single,_
					 byval lwidth as single, byval r as single, byval g as single, byval b as single,_
					 byval alpha as single)
	dim as single nx,ny	
	nx = -(y2-y1)
	ny =  (x2-x1)
	
	dim leng as single
    leng = sqr(nx * nx + ny * ny )
    nx = nx / leng
    ny = ny / leng
	nx *= lwidth/2
	ny *= lwidth/2
	 	
	dim as single lx1, ly1, lx2, ly2, lx3, ly3, lx4, ly4
	
	lx1 = x2+nx
    ly1 = y2+ny
    lx2 = x2-nx
    ly2 = y2-ny                            
    lx3 = x1-nx
    ly3 = y1-ny
    lx4 = x1+nx
    ly4 = y1+ny 
	glColor4f (r, g, b, alpha)
	glPushmatrix()			
			glbegin(GL_QUADS)
				glTexCoord2f( 0.5,0 )
				glVertex3f( lx1,ly1,0 )
		
				glTexCoord2f( 0.5,1 )
				glVertex3f( lx2,ly2,0 )
		
				glTexCoord2f( 0.5,1 )
				glVertex3f( lx3, ly3,0 )
		
				glTexCoord2f( 0.5,0 )
				glVertex3f( lx4,ly4,0 )
			glend()
			'RIGHT
			dim as single lx5, ly5,lx6,ly6,vx,vy
			vx = (x2-x1)
			vy = (y2-y1)
			leng = sqr(vx * vx + vy * vy )
    		vx = vx / leng
    		vy = vy / leng
    		vx *= lwidth/2
    		vy *= lwidth/2
    		
    		lx5 = lx1 + vx
    		ly5 = ly1 + vy
    		lx6 = lx2 + vx
    		ly6 = ly2 + vy
    		
    		glbegin(GL_QUADS)
				glTexCoord2f( 0.5,0 )
				glVertex3f( lx1,ly1,0 )
		
				glTexCoord2f( 1,0 )
				glVertex3f( lx5,ly5,0 )
		
				glTexCoord2f( 1,1 )
				glVertex3f( lx6, ly6,0 )
		
				glTexCoord2f( 0.5,1 )
				glVertex3f( lx2,ly2,0 )
			glend() 
 			'LEFT
 			lx5 = lx4 -vx
    		ly5 = ly4 -vy
    		lx6 = lx3 -vx
    		ly6 = ly3 -vy
    		glbegin(GL_QUADS)
				glTexCoord2f( 0.5,0 )
				glVertex3f( lx4,ly4,0 )
		
				glTexCoord2f( 1,0 )
				glVertex3f( lx5,ly5,0 )
		
				glTexCoord2f( 1,1 )
				glVertex3f( lx6, ly6,0 )
		
				glTexCoord2f( 0.5,1 )
				glVertex3f( lx3,ly3,0 )
			glend()
    		
	glPopMatrix()
end sub
Added a zip file for the exe and the a diagram x-out gave me which gave me the start: