【Question】About blending

Hi!
I have a scenario,which involves smoke and fire.
I code them respectively with shaders and points.
Smoke use alpha blending and fire use additive blending.
So alpha blending equation is

SRC*alphaFactor + DST*(1-alphaFactor)

additive blending is

SRC*1+ DST*1

It may happens to one pixel that needs to render both of them.
in this case , are they shares the same input frag color or one of them s out frag color is the other ones input frag color?
I don’t know if there’s any problem with that but the thing is that the fire is too bright.It covers the smoke instead of blocked by the smoke in front of it.

are you sure it is in front of it ) I mean, specific smoke particle may be in front, but the whole smoke object may be decided to be behind and drawn 1st.

Im confused ,i dont know which one draw first. it’s about the timeline i call them?

I think it s based on origin coords but you can turn it off and specify your order somewhere.

Yeah,but how? three.js docs
I looked into shaderMaterial but seems not in there

https://threejs.org/docs/index.html?q=renderer#api/en/renderers/WebGLRenderer.sortObjects

https://threejs.org/docs/index.html#api/en/core/Object3D.renderOrder