I tried doing this a few years ago, mapping OpenGL 1.x primitives into WebGL was indeed a pain. There were some translation layers but they were either incomplete or targetting GLES, not classical OoenGL.
I then attempted to actually rewrite ETR to use GLES (or modern OpenGL in general), but that also turned out to be quite an effort given how the original engine/game code is structured.