音视频之 opengl 渲染图片
首先来看看渲染效果
我们先来看看关于纹理的坐标:
他是如下图:
顶点着色器代码:texture_vertext_shader_java_1.glsl
复制代码
a_Position:是顶点的坐标
a_TextureCoordinates:是用来接收的纹理坐标的属性。
v_TextureCoordinates:这个是用来将坐标传递给片段着色器。
片段着色器代码: texture_frament_shader_java_1.glsl
复制代码
u_TextureUnit:这是用来接收纹理数据的数组。
v_TextureCoordinates:是从顶点着色器传递过来的纹理坐标
texture2D 方法:他会读入特定坐标的颜色值,然后传递给 gl_FragColor
现在来看看 java 上的代码:
这些都是加载代码,然后编译,连接,然后使用,和上篇渲染三角形是一样的。
复制代码
下面是获取三个变量的地址:
复制代码
接下来我们着重看下加载纹理的地方:loadTexture
先创建一个纹理对象:
复制代码
我们简单来看看过滤方式:
复制代码
复制代码
将坐标数据传入对应的 opengl 中,并使能。
复制代码
最后绘制:
复制代码
推荐自己的Linux、C/C++技术交流群:【960994558】整理了一些个人觉得比较好的学习书籍、大厂面试题、和热门技术教学视频资料共享在里面(包括 C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK 等等.),有需要的可以自行添加哦!~
以上有不足的地方欢迎指出讨论,觉得不错的朋友希望能得到您的转发支持,同时可以持续关注我,每天分享技术干货内容!
评论