1.先看下mesa三角形光栅化效果
2.这里是主要实现代码,Mesa的代码也是非常多,看了好多天。关键实现过程代码这个s_tritemp.h中
3.这里主要介绍渲染一个矩形的过程
a)在glut中两行代码:
b) 中间过程代码忽略,进入static GLboolean run_render( GLcontext *ctx, struct tnl_pipeline_stage *stage ) 函数
c) 进入函数 static void TAG(render_quads)( GLcontext *ctx,
GLuint start,
GLuint count,
GLuint flags )
d) 进入函数 static void TAG(quadfunc)( GLcontext *ctx, GLuint v0,
GLuint v1, GLuint v2, GLuint v3 ) 这里会将矩形分为2个三角形
e) 进入光栅化画线的过程函数了
具体代码可以看这个s_tritemp.h文件,如程序中一共是有250根线要画,左边画1根线,还剩249根线需要画