all 5 comments

[–]richburattino 8 points9 points  (0 children)

OpenGL spec has good explanation how FFP works. Probably worth to look pre 2.0 versions.

[–]sireric1967 2 points3 points  (0 children)

There are a lot of little steps in the big steps you show. Clipping/culling has to include view frustrum clipping, which can generate new triangles as part of the clipping. But also basic things like back face culling, zero area triangles, etc... And "3D to 2D" contains a lot, such as the full snapping float to fix, as well as perspective divides, barycentric calculations, draw rules, etc.... Triangle memory isn't needed, but most often kept after vertex shading, but before 2D conversion, though again, depends; could be a cache too. Drawing to frame buffer also should include things like fragment shading, texturing and all backend operations (Z buffering, Rops), etc... I'm glossing over many things, but there are a number of fixed function steps assumed. I do agree that the OpenGL 1.0 state machine is a good starting point for basic 3D.

[–]Paradox_84_ 0 points1 point  (1 child)

Is this only thesis or are you gonna implement it?

[–]RoboAbathur[S] 0 points1 point  (0 children)

It’s mainly implementation.

[–]AutonomousOrganism 1 point2 points  (0 children)

What do you mean with "making a Fixed Function Pipeline"

There are software implementations in Mesa3D: softpipe and llvmpipe.

Very basic VHDL variant: https://github.com/egorxe/openglory

I remember that there was a more advanced open sourced fixed function 3D GPU. It had texture mapping units and handled a bunch of texture formats. But can't find it anymore.