Muzzle flashes in full 3D will require volume rendering which is strictly advanced, hw limited and possibly slow to process. I think plenty of billboards will give you volume, as mgear states.
I use three double-sided planes. Two are perpendicular to each other in a cross, and one is flat against their “base”. The effect works reasonably well for both first and third person.
model 3 egg shapes, white core normal faces +two others with inverse normals so they act like a stroke (they can just be cheap vertex color objects)
+additive billboard for glow (sort on top)
if you want to get more fancy you put ramps on the models, transparency tricks and soft-edge shaders, post processing, animate the models (fast rotation, deforming shaders, vertex level or “flip-book” meshes)