在IOS 10 beta 7(Safari)中使用webGL渲染视频 – 显示出奇怪的紫色

在IOS 10 beta 7(Safari)中使用webGL渲染视频 – 显示出奇怪的紫色,第1张

概述我正在通过传递Video对象作为tex Image2D的源来渲染webGL中的视频.这适用于所有平台(支持webGL),但在IOS 10 beta 7的Safari中,它呈现出奇怪的颜色(在以前的IOS版本中看起来没问题). 例如,这是一个来自它的图像框架,它看起来如何: 这就是它在IOS 10(奇怪的版本)中呈现的方式: 这是IOS10测试版的错误吗? 这是渲染代码(每帧发生一次): gl.cl 我正在通过传递VIDeo对象作为tex Image2D的源来渲染webGL中的视频.这适用于所有平台(支持webGL),但在IOS 10 beta 7的Safari中,它呈现出奇怪的颜色(在以前的IOS版本中看起来没问题).

例如,这是一个来自它的图像框架,它看起来如何:

这就是它在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不是很有经验)

解决方法 这显然是WebKit(或Safari甚至iOS本身)中的一个错误.一个好的开始是将它报告给WebKit的跟踪器: https://webkit.org/reporting-bugs/. 总结

以上是内存溢出为你收集整理的在IOS 10 beta 7(Safari)中使用webGL渲染视频 – 显示出奇怪的紫色全部内容,希望文章能够帮你解决在IOS 10 beta 7(Safari)中使用webGL渲染视频 – 显示出奇怪的紫色所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: https://outofmemory.cn/web/1030755.html

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

发表评论

登录后才能评论

评论列表(0条)

保存