mesa阅读第一天
摘要:我们先从main开始,这应该是一个正确的思路。在这里面我个人感觉从debug开始。试一下。打开debug.h文件,最上面的注释是一段版权说明。略过。接下来我们看到一个宏判断。并且下面那几个函数都是在别的地方定义的。所以我有种找错地方的感觉。研究一下那几个函数是在哪定义的。在config.h中我们看到这样#define _HAVE_FULL_GL 1,这说明config会比debug运行更早。所以改变目标。直达config.h。最上面定义了一堆最大缓存的值。这个很有意思。好像我们对opengl的所有配置都可以从这里来实现。等水平深了这个东西需要好好研究一下。看完之后回到我们的debug。继续寻找
阅读全文
gpu绘制管线
摘要:摘自gpu编程之阳春白雪与下里巴人。在实时计算机图形学一书中,将图形绘制管线分为三个主要阶段,应用程序阶段,几何阶段,光栅阶段。应用程序阶段,使用高级编程语言进行开发,主要和cpu内存打交道。诸如碰撞检测,场景图建立。空间八叉数更新。视锥裁剪等经典算法都在此阶段执行。在该阶段的末端。几何体数据几何体数据(顶点坐标、法向量、纹理坐标、纹理等)通过数据总线传送到图形硬件(时间瓶颈) ;数据总线是一个可以共享的通道,用于在多个设备之间传送数据;端口是在两个设备之间传送数据的通道;带宽用来描述端口或者总线上的吞吐量,可以用每秒字节(b/s)来度量,数据总线和端口(如加速图形端口,Accelerated
阅读全文
mesa导读
摘要:打开mesa代码文件夹。需要声明的是,我看的是7.0.3的代码。drivers应该是驱动相关代码。glapi里面是opengl的实现代码。但是有很多是空的。main里面主要实现的是opengl状态管理机。math是数学工具类。不足为惧。ppc对应的是标准委员会什么的东西。不懂。接下来shader这是着色器的实现。swrast这个是他的软实现。tnl是光照变换处理过程。所以总结起来。我们需要有四个重点看的文件夹。那就是main,glapi,swrast,tnl。
阅读全文