I am reading the OpenGL 4.6 spec and am confused by a few points regarding fragments and framebuffers.
If an RGBA color value is written to a non-zero draw framebuffer (i.e. a framebuffer object), the mapping of the components to the framebuffer image (e.g. could be RGBA to RGB) is defined in section 9.6. Why does it exclude the default framebuffer here (i.e. only non-zero) and what defines this same process for the default framebuffer, if anything?
If the logical operation fragment stage is enabled then it states “The result replaces the values in the framebuffer at the fragment’s (xw,yw) coordinates”. If the stage is disabled, is the color value still written to the framebuffer at this point - surely it must be?
At what stage is the fragment shader output converted to the fixed-point framebuffer format, if applicable? It mentions it in the blending fragment stage but that suggests conversion relies on blending being enabled.
How does blending work on a framebuffer without an alpha component - is the existing alpha color value assumed to be 1, 0, or unspecified? I am assuming 1 based on section 9.7 but again this says non-zero framebuffers only.
Thanks in advance!