例如,这是一个来自它的图像框架,它看起来如何:
这就是它在IOS 10(奇怪的版本)中呈现的方式:
这是IOS10测试版的错误吗?
这是渲染代码(每帧发生一次):
gl.clear(gl.color_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); gl.bindTexture(gl.TEXTURE_2D,frameTexture);gl.texImage2D(gl.TEXTURE_2D,gl.RGBA,gl.UNSIGNED_BYTE,vIDeo);gl.drawArrays(gl.TRIANGLES,6);gl.bindTexture(gl.TEXTURE_2D,null);
frameTexture是之前创建的2D纹理.视频是一个视频对象.
之前已初始化顶点缓冲区以形成保存图像的矩形.
这些是着色器:
顶点
attribute vec3 a_position;attribute vec2 a_texCoord;uniform vec2 u_resolution;varying vec2 v_texCoord;voID main() { vec4 pos = vec4(a_position,1.0); vec2 xy = vec2(pos.x,pos.y); // convert the rectangle from pixels to 0.0 to 1.0 vec2 zeroToOne = xy / u_resolution; // convert from 0->1 to 0->2 vec2 zeroToTwo = zeroToOne * 2.0; // convert from 0->2 to -1->+1 (clipspace) vec2 clipSpace = zeroToTwo - 1.0; gl_position = vec4(clipSpace * vec2(1,-1),1); // pass the texCoord to the fragment shader // The GPU will interpolate this value between points. v_texCoord = a_texCoord; }
u_resolution之前从Js获取视频的宽度和高度.
分段
precision mediump float;// our textureuniform sampler2D u_image;// the texCoords passed in from the vertex shader.varying vec2 v_texCoord;voID main() { gl_Fragcolor = texture2D(u_image,v_texCoord);}
我尝试了几个视频 – 结果相同.虽然我注意到白人和黑人看起来很正常并且变得很好.
如果这不是webGL中的IOS10错误 – 任何想法会导致什么?
(我应该注意,我对webGL不是很有经验)
以上是内存溢出为你收集整理的在IOS 10 beta 7(Safari)中使用webGL渲染视频 – 显示出奇怪的紫色全部内容,希望文章能够帮你解决在IOS 10 beta 7(Safari)中使用webGL渲染视频 – 显示出奇怪的紫色所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)