Hello Li Zhi,

I have done a quick search, and it seems that glBegin is mapped to 
vbo_exec_Begin. 

I'm not using the same version of Mesa as you, but here is how it works for me. 
In vbo_exec_api.c, function vbo_exec_vtxfmt_init, you get
    vfmt->Begin = vbo_exec_Begin;

And after, in vtxfmt.c, function install_vtxfmt
    SET_Begin(tab, vfmt->Begin);

SET_Begin calls a macro (SET_by_offset) mapping the vbo_exec_Begin to glBegin. 
The macro is located in dispatch.h

Hope it helps you,
Pierre Moreau

> On 27 juil. 2013, at 03:18, ZhiLi <ditto_zh...@hotmail.com> wrote:
> 
> Hello everyone,
> 
> I am an university student working on school project related to OpenGL. 
> Now I am using mesa library (version 9.0.3) as an implementation of OpenGL. 
> I have a few questions about Mesa library.
> 
> glBegin()/glEnd() pair is used for immediate mode rendering, so I study the 
> source code to find out 
> how these functions work.
> 
> In file "vbo_exec_api.c" line 800, the comment says function vbo_exec_Begin 
> is called via glBegin().
> 
> However, in all library files, I cannot find where and how glBegin() calls 
> the function.
> 
> Could you give some hints and explanations? I am really appreciating your 
> help. Thanks.
> 
> Li Zhi
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to