I am interested in learning the graphics architecture in detail, like how does vertex assembler, rasterizer, texel fetcher, fragment shader works from the hardware point of view. can anyone please point me to the books or links for this.
Well, there aren’t really books like that. Because many parts of them will be hardware-specific and/or obsolete by the time of publication.
Take “vertex assembler”. Well, AMD’s GCN-based hardware doesn’t have one; it instead expects the vertex shader to fetch whatever vertex data exists. It provides indexing and instancing capabilities purely in the abstract: by passing the vertex shader an index and instance per-vertex.
So all of those VAO vertex formats you use in OpenGL? On GCN-based hardware, the driver is actually writing bits of vertex shader code to unpack and access them. There’s a reason why changing vertex formats can be expensive (and why separating vertex formats from buffers is important. Changing buffers is cheap; changing formats is not).
Texel fetching has changed a lot and even today varies on different hardware. In some hardware, the texel fetch unit implements filtering; in other hardware, filtering is handled by the shader doing the fetching. And still other hardware splits the responsibility; the texel fetch unit can do certain basic filtering (like bilinear), but not others (like anisotropic).
The only thing that hasn’t changed much is the basic algorithm behind rasterization (though even multisample changed that somewhat). And even that is used in very different ways, depending on if the hardware is a forward renderer or a tile-based renderer.
AMD and Intel apparently have detailed specs about how some of their hardware works. That’s about the best you can do.
Great.!! Thanks .!!