From what I understood, the normalmap must be converted to the HL2 basis too or results will be incorrect (slide 12 in the first document).
I may create an app to convert textures to this basis if I go with this.
So if I'm right, I have to rotate the 3 vectors with the billboard to "face" the camera (like they show in the 2nd doc, slide 9), and project thanks to 3 dot products in the vertexshader.
Then again 3 dot products in the pixelshader with the normalmap to be in the same space and voilà ?
They use half instead of float. I'll compare both to see if any speed or quality loss is visible.
I wonder what algorithm is used in UE4 to light particles systems like smoke.