Eu recomendo o uso de texturas, como Dave disse. Pode ser um pouco doloroso, mas acho que proporcionaria um desempenho muito melhor.
Você pode tentar procurar algoritmos de detecção de borda . Se você criar suas malhas usando cores de vértice com cores sólidas e valores alfa médios (para uma leve transparência) e, em seguida, usar um sombreador de detecção de arestas, poderá parecer bom o suficiente. Não seria o mesmo, mas você pode gostar ainda mais; ou talvez não.
Caso contrário, você pode estar procurando uma solução de duas passagens, desenhando polígonos translúcidos (novamente, defina as cores dos vértices para uma cor sólida com um valor alfa médio), depois defina glPolygonMode (GL_LINE) e ajuste glLineWidth conforme desejado (talvez com base no objeto distância) e desenhe os polígonos novamente.
É um pouco tarde e estou tendo dificuldades para ler isso, mas uma discussão no fórum aponta para este PDF: Renderização de estrutura de arame de passagem única . Peço desculpas se não for relevante.