必赢亚洲手机app下载


苹果电脑ios第1方库和工具类

iOS开垦进行篇

OpenGL苹果电脑 FAQ

1.什么是OpenGL?
OpenGL即开放图形库(Open Graphics
Library),它是1套用来张开3D图形渲染的应用程序编制程序接口。
更专门的工作点说,OpenGL是一套在场景中绘制三角形的API,它是一向与GPU打交道的。它不管任何诸如图片文件的读取、3D模型的解析、动画、鼠标键盘输入、窗口创制等绘制以外的业务。

2.谁管理OpenGL?
OpenGL结构连串委员会(OpenGL Architectural Review
Board)担任管理OpenGL规范以及它的开辟进取。

叁.OpenGL是开源的呢?
不是,OpenGL自个儿未有别的源代码。GL是壹套规格表达,它描述了开采者能够使用的接口以及调用接口将时有发生的表现。OpenGL是一套开放的标准,任什么人都得以免费获得它(从OpenGL网址上下载)。那与ISO的专门的学问和原则表达正相反,这一个专门的职业是必须付费才干获取的。
Mesa3D是GL规范的2个开源完毕(http://www.mesa3d.org)。

四.到哪下载OpenGL?
OpenGL不是1个软件,它是1套标准(规格表达)。
在苹果Computer上,OpenGL落成被含有在操作系统中提供。
在Windows系统上,OpenGL落成是由像nVidia、英特尔那样的显卡厂家提供的,他们基于GL规格表达结合自己显卡硬件来支付和煦的OpenGL实现,并将之视作显卡驱动程序的1部分提供用户设置使用。
对此开垦者来说,安装显卡驱动不会为你安装开辟OpenGL程序所需的开垦库(gl.h、opengl3二.lib),这个文件是随你的编写翻译器(如VC)安装的,并且长久锁定在GL1.一本子。
平等,安装显卡驱动也不会更新opengl3二.dll文件,那么些文件是随操作系统安装的,只有微软会对它进行更新。当您安装显卡驱动的时候,1个底层的驱动文件会棉被服装置,opengl3二.dll会把调用传递给这一个确实的GL驱动文件(nVidia的nvoglv32.dll)。

5.SDK?
严峻来讲,OpenGL未有真的含义上的SDK,唯有网络的部分文书档案、示例代码。
NVIDIA和英特尔都有和好的SDK,包蕴各类基于OpenGL的示范。

6.如何操作系统协助GL?
Windows 九五之上版本
苹果系统的具有版本
Linux

七.OpenGL在windows系统中是何等工作的?
具备版本的windows系统都帮忙OpenGL。
编写翻译OpenGL应用程序的时候,须要链接到OpenGL动态库opengl32.dll(即便在60人系统也同样)。
当运维OpenGL应用程序的时候,opengl3贰.dll被加载,然后它检查windows注册表看是还是不是有1个实在的尾巴部分GL驱动,如若有就加载它。如,ATI的GL驱动为atioglxx.dll,nVidia的GL驱动文件是nvoglv3二.dll。
opengl3二.dll永久限定在GL壹.一本子,对于1.二上述的效益,你使用wglGetProcAddress接口获得的意义对应的函数指针,这一个函数指针来自对应底层GL驱动。
要求明确的某个是,opengl3二.dll属于windows系统,没人可以修改它,你也无法替换它,无法把它包含在您的程序安装包里,你也无法把nvoglv3二.dll等驱动文件包括在您的安装包里,这是显卡驱动安装程序要做的。

八.本身怎么着精晓正在利用的OpenGL的版本?
使用glGetString(GL_VE奇骏SION),将回到包蕴OpenGL版本的字符串。
或者,使用glGetIntergerv(GL_MAJOR_VERSION,
*)和glGetIntegerv(GL_MINOR_VERSION, *苹果电脑,)。(需要GL3.0支持)
也能够应用glGetString(GL_VENDOLacrosse)查询显卡商家,使用glGetString(GL_RENDERERAV肆)查询显卡型号。

九.为啥作者的GL版本只有壹.四或更低?
对于OpenGL版本过低的景色,一般有三种情况:
第三:在windows系统上,如若您在创立渲染情状的时候使用了多个未加快的像素格式(Pixel
Format),那么您将收获缺省的OpenGL实现(相对于显卡加快落成),恐怕会是软件GL一.1或硬件GL1.伍,具体取决于操作系统的版本。
其次:你的显卡厂家未有提供立异的OpenGL完成。那平常发生在局地早已退出市集的显卡上。别的就是Inter集成显卡,Inter不对它的集成显卡提供创新的OpenGL完成。那种景况在NVIDIA和AMD显卡上不会油然则生。

拾.glTranslate、glRotate、glScale是不是有硬件加快?
不,未有别的已知的GPU会进行别的的矩阵运算,驱动程序在CPU上做到有着的矩阵运算然后把结果传递给GPU。那也是为啥在GL叁.0未来版本中弃用那个接口。你须要树立和谐的数学生运动算库,创造并运算矩阵,然后把结果传递给shader程序。

1一.稳住效率管线与现时期GPU?
今世GPU不再支持固定成效管线,它通过shader程序完成有着职业。为了维持包容性,GL驱动程序成立一组shader程序来效仿固定管线的法力。新的开拓者应该学学shader编制程序,而不再须求上学固定管线函数如glLight、glMaterial等。

1二.怎么着在像素空间渲染?
动用正交易投资影。

一三.怎样甩卖多索引?
多索引是指,每一种顶点属性(地点、法线、颜色等)都有分别差异的索引数组。OpenGL不支持那种多索引的渲染。
因而,你无法不自身管理那种境况,把数量整合,使其应用三个同台的索引数组,这一般会导致数据复制和冗余。

1四.gl.h、glu.h、glaux.h、glut.h分别表示怎样?
gl.h是OpenGL主旨库的头文件,对应的导入库和动态库为opengl3二.lib和opengl32.dll。
glu.h是OpenGL功效函数库的头文件,对应glu32.lib和glu3二.dll,它同样是OpenGL库的1局地。
glaux.h是微软提供的OpenGL库的增添,已经取消。
glut.h是3个第壹方的OpenGL扩充库,重要为开垦者处理窗口、输入等渲染以外的政工,它也是跨平台的。

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图