Quantcast
Channel: Questions in topic: "javascipt"
Viewing all articles
Browse latest Browse all 1875

WebGL video texture not working

$
0
0
I want to play a video in WebGL but MovieTextures re not supported. i've tried using Jonas' Simple MoTextures Sample for WebGL and it works great, but only with certain videos. I've deduced that it only works with videos that have a 2:1 aspect ratio. Such as the example one (640x320) or one I did that was 2000x1000. If I try to use any other video I always have the same warning (hundreds of times): > WARNING: texture bound to texture unit> 0 is not renderable. It maybe> non-power-of-2 and have incompatible> texture filtering. I am completely> stuck at this point. The code is 100%> the one in the sample. BTW, in my 2000x1000 video I also get that warning, but only 5 times, and the video plays perfectly. The code in JSlib for create and update functions: WebGLMovieTextureCreate: function(url) { var str = Pointer_stringify(url); var video = document.createElement('video'); video.style.display = 'none'; video.src = str; return videoInstances.push(video) - 1; }, WebGLMovieTextureUpdate: function(video, tex) { if (videoInstances[video].paused) return; GLctx.bindTexture(GLctx.TEXTURE_2D, GL.textures[tex]); GLctx.pixelStorei(GLctx.UNPACK_FLIP_Y_WEBGL, true); GLctx.texImage2D(GLctx.TEXTURE_2D, 0, GLctx.RGBA, GLctx.RGBA, GLctx.UNSIGNED_BYTE, videoInstances[video]); GLctx.pixelStorei(GLctx.UNPACK_FLIP_Y_WEBGL, false); }, And the C# code: public WebGLMovieTexture (string url) { m_Instance = WebGLMovieTextureCreate(url); m_Texture = new Texture2D(0, 0, TextureFormat.ARGB32, false); m_Texture.wrapMode = TextureWrapMode.Clamp; } public void Update() { var width = WebGLMovieTextureWidth(m_Instance); var height = WebGLMovieTextureHeight(m_Instance); if (width != m_Texture.width || height != m_Texture.height) { m_Texture.Resize(width, height, TextureFormat.ARGB32, false); m_Texture.Apply(); } WebGLMovieTextureUpdate(m_Instance, m_Texture.GetNativeTextureID()); } Is there a way to play any aspect ratio video? or is there something else I'm missing that could be causing this problem?

Viewing all articles
Browse latest Browse all 1875

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>