02 2014 档案
摘要:最近开始学习OpenGL,网上的教程太散乱,于是打算照着红宝书《OpenGL编程指南(第七版)》来学习。于是在Mac上搭建一下Demo环境。比较方便的是,OS X上已经装了OpenGL 3.x所以非常简单。首先,在xcode上建立os x的command line工程,即hello world。然后,把以下两个库通过add files添加到工程里:/System/Library/Frameworks/OpenGL.framework/System/Library/Frameworks/GLUT.framework前者就是OpenGL 3.x;后者是OpenGL的界面和交互库,因为OpenGL只
阅读全文
摘要:select,poll,epoll简介selectselect本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1 单个进程可监视的fd数量被限制2 需要维护一个用来存放大量fd的数据结构,这样会使得用户空间和内核空间在传递该结构时复制开销大3 对socket进行扫描时是线性扫描pollpoll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,如果设备就绪则在设备等待队列中加入一项并继续遍历,如果遍历完所有fd后没有发现就绪设备,则挂起当前进程,直到设备就绪或者主动超时,被唤醒后它又要再次遍历fd。这个过程经历了
阅读全文
摘要:基本概念基本功能:几何图形、变换、着色、光照、贴图高级功能:曲面图元、光栅操作、景深、shader编程状态机先设置状态参数:多边形、顶点列表、填充颜色、纹理、混合模式、坐标系再调用绘图指令如果没有设置新参数,会一直用当前的状态来绘图,所以是有状态的OpenGL可以分为客户端和服务端,客户端可以是cpu或主机,服务端是gpu或另一台主机客户端发送绘图指令,服务端负责绘制渲染,尽量在客户端完成工作,只发送必要数据到服务端,减少传输压力开启/关闭绘图特性GL_APICALL void GL_APIENTRY glEnable(GLenum cap); // 开启一个状态GL_APICALL void
阅读全文

浙公网安备 33010602011771号