位置: 编程技术 - 正文
推荐整理分享openGL ES(opengles和vulkan哪个好),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:Opengl Es与机械臂的旋转与运动,opengles和vulkan哪个好,opengl es2.0应用有哪些,opengl es2.0应用有哪些,opengl es2.0应用有哪些,opengles2.0什么意思,opengles3.1扩展包免费下载,opengles2.0强制启用4xmsaa,内容如对您有帮助,希望把文章链接给更多的朋友!
文章主要是对opengl的一些重要的知识点进行总结: 1、opengl的工作原理 通常采用图形卡驱动程序的形式:
管线(pipeline)是一个过程,可能涉及两个或多个独特的阶段或步骤.应用程序进行OpenGL函数调用时,这些命令被放置在一个命令缓冲区.该缓冲区最终填满了命令,定点数据,纹理数据等东西.缓冲区被刷新时,命令和数据就传递给下一个阶段.
2、OpenGL ES(OpenGL for Embedded Systems)是从OpenGL剪裁或定制过来了,去除了glBegin/glEnd,四边形(GL_QUADS),多边形(GL_POLYGON)等复杂图元等许多非必要的特性. pipeline:(管线) opengl application: geometry(几何图形) + texture(纹理贴图) vertex data(顶点数据): lighting(光照) +transform(变换) +scale(缩放) geometry(几何图形): rasterization(光栅) +clipping(剪裁) fragment(段): fog(雾) + texture(纹理). framebufer(帧缓冲区): stecil(蒙版) z-test(深度测试) alpha(透明) blending(混合) eyeball(眼球): 就看到物体了 3、对OpenGL ES各个版本的简单介绍 OpenGL ES1.x针对固定管线硬件,OpenGL ES1.0是以OpenGL1.3规范为基础的,OpenGL ES1.1是以OpenGL1.5为基础的,他们分别又支持common和common lite两种profile. OpenGLES2.x针对可编程管线硬件. OpenGL ES2.0是参照OpenGL2.0规范定义的. OpenGL ES 3.x 目前在高通骁龙系列及其以上的版本中支持。 小插曲:对3.x中新特性的描述:(可以忽略) OpenGL ES 3.0 带来很多新特性,根据 AnandTech 的解释: 支持更多缓冲区对象,在 OpenGL ES 2.0 时中,缓冲区对象的规范有模糊之处。名字一样缓冲区对象,在实际渲染中对表现却有细微的差别。针对这个问题 OpenGL ES 3.0 制定了更详细对格式规范。新版 OpenGl ES 还增加对 Uniform Buffer Object 的支持; 新版 GLSL ES 3.0 着色语言,支持 位整数和浮点数据类型以及操作。之前版本的着色语言只支持精度更低的,这样虽然能够加快计算的速度,所需的资源也更少,但当着色器的复杂度增加,出错也随之增加。同时,新版着色语言的语法更贴近 GLSL; 支持遮挡查询(Occlusion Query)以及几何体实例化(Geometry Instancing)。通过遮挡查询,能够让 GPU 知道 3D 场景中,哪些物体被其它物体完全遮挡,这些完全被遮挡的物体 GPU 不会去渲染。几何体实例化是通过对具有相同顶点数据的几何体,赋予不同的空间位置、颜色或纹理等特征,从而创造出不同实例对象的技术。这两个特性都能够节省硬件资源,提高 3D 图形渲染的性能。 增加多个纹理的支持。包括浮点纹理、深度纹理、顶点纹理等等。 多重渲染目标(Multiple Render Targets),让 GPU 一次性渲染多个纹理。 多重采样抗锯齿(MSAA Render To Texture),让 3D 物体对边缘不出现毛刺,可提升图像效果。 使用统一的纹理压缩格式 ETC; 4、OpenGL中的坐标系 对象空间,相对于每个对象自身 相机,眼睛,空间是针对视点 投影,剪裁,空间他们是平面的屏幕或者是图像上的视口 5、OpenGL中常见的几个概念 GLSurfaceView:GL表层视图,输出openGL画面的控件. GLSurfaceView.Renderer:openGL渲染器,绘制openGL的类. 平截头体(frustum)也叫视景体,拍摄画面的一个区域,是一个棱台,对投影矩阵进行操纵. 投影: 透视投影:有深度,越远越小. 正投影:没有深度,相同大小. 6、使用openGL步骤:
OpenGL es2.0 加载纹理图片和CubMap publicstaticintinitTexture(intdrawableId,Resourcesresources){int[]textures=newint[1];GLES.glGenTextures(1,textures,0);inttextureId=textures[0];GLES.glBindTexture(GLES.GL_TEXTURE_2D,textureId);GL
体验OpenGL新版本 在TheOpenGLExtensionWranglerLibrary下载新版本OpenGL(就是glew-1..0-win)解压,找到glewinfo,检测本机显卡对OpenGL的支持能力,发现自己的本机显卡支持到opengl3
opengl:绘制球体 数学基础球面参数方程球面的参数曲线可以用球坐标表示,引入参数u,v,其中v是球面点与原点的连线与z轴正向的夹角,u表示连线在xy平面的投影与x轴
上一篇:透视投影详解(透视投影的作用)
下一篇:OpenGL es2.0 加载纹理图片和CubMap(opengl es3.0metal)
友情链接: 武汉网站建设