如何向虚拟机中添加opengl es控件

如何向虚拟机中添加opengl es控件,第1张

1、打开虚拟机,不要进入任何的系统。

2、单击菜单栏中的虚拟机选项。然后单击选项设置。或者直接单击编辑虚拟机。

3、单击添加选项。添加是最下面的一个按钮——选择硬盘。

4、单击继续,然后磁盘类型选择默认即可。分配磁盘的大小,注意这个不要默认。

刚学习了OpenGL的纹理相关知识,终于可以接着写Android音视频系列了。

本篇博客会介绍使用OpenGL ES 3.0相关知识预览Camera,并且提供Camera和Camera2两个版本实现。

顶点着色器

片段着色器

纹理的类型需要使用 samplerExternalOES ,而不是之前渲染图片的 sampler2D。

我们知道Android相机输出的原始数据一般都为YUV数据,而在OpenGL中使用的绝大部分纹理ID都是RGBA的格式,所以原始数据都是无法直接用OpenGL ES来渲染的。所以我们添加了一个扩展 #extension GL_OES_EGL_image_external_essl3 : require ,其中定义了一个纹理的扩展类型 GL_TEXTURE_EXTERNAL_OES 。后面绑定纹理时需要绑定到 GL_TEXTURE_EXTERNAL_OES 上,而不是类型GL_TEXTURE_2D上。

其实前面部分和加载图片没有什么区别,最后两行,对应上面流程中的1、2步。创建纹理,绑定外部纹理,然后根据纹理ID创建SurfaceTexture作为相机预览输出。

使用Camera2在OpenGL方面其实是一样的,并没有什么改动。所以只需要看一下Camera2的调用就好。

源码地址


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11508556.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存