Hello.
I need gl.readPixels function to check if specified pixel of sprite is transparent or not.
On iPhone emulator everything works ok, but on Android I have following error: “gl.readPixels is not a function” on Android.
I use Cocos2d-2.1rc0-x-2.1.3 and CocosBuilder 3.0-alpha4.
I printed list of gl methods on iPhone and it was:
getSupportedExtensions,activeTexture,_attachShader,_bindAttribLocation,_bindBuffer,_bindFramebuffer,_bindRenderbuffer,
_bindTexture,blendColor,blendEquation,blendEquationSeparate,blendFunc,blendFuncSeparate,bufferData,bufferSubData,
checkFramebufferStatus,clear,clearColor,clearDepthf,clearStencil,colorMask,_compileShader,compressedTexImage2D,
compressedTexSubImage2D,copyTexImage2D,copyTexSubImage2D,_createProgram,_createShader,cullFace,_deleteBuffer,
_deleteFramebuffer,_deleteProgram,_deleteRenderbuffer,_deleteShader,_deleteTexture,depthFunc,depthMask,depthRangef,
detachShader,disable,disableVertexAttribArray,drawArrays,drawElements,enable,enableVertexAttribArray,finish,flush,
framebufferRenderbuffer,framebufferTexture2D,frontFace,_createBuffer,_createFramebuffer,_createRenderbuffer,
_createTexture,generateMipmap,_getActiveAttrib,_getActiveUniform,_getAttachedShaders,_getAttribLocation,getError,
_getProgramInfoLog,_getProgramParameter,_getShaderInfoLog,_getShaderSource,_getShaderParameter,getTexParameter,
_getUniformLocation,_getUniform,hint,isBuffer,isEnabled,isFramebuffer,isProgram,isRenderbuffer,isShader,isTexture,lineWidth,
_linkProgram,pixelStorei,polygonOffset,readPixels,releaseShaderCompiler,renderbufferStorage,sampleCoverage,scissor,
_shaderSource,stencilFunc,stencilFuncSeparate,stencilMask,stencilMaskSeparate,stencilOp,stencilOpSeparate,_texImage2D,
texParameterf,texParameteri,_texSubImage2D,uniform1f,uniform1fv,uniform1i,uniform1iv,uniform2f,uniform2fv,uniform2i,
uniform2iv,uniform3f,uniform3fv,uniform3i,uniform3iv,uniform4f,uniform4fv,uniform4i,uniform4iv,uniformMatrix2fv,
uniformMatrix3fv,uniformMatrix4fv,_useProgram,_validateProgram,vertexAttrib1f,vertexAttrib1fv,vertexAttrib2f,vertexAttrib2fv,
vertexAttrib3f,vertexAttrib3fv,vertexAttrib4f,vertexAttrib4fv,vertexAttribPointer,viewport,createTexture,createBuffer,
createRenderbuffer,createFramebuffer,createProgram,createShader,deleteTexture,deleteBuffer,deleteRenderbuffer,
deleteFramebuffer,deleteProgram,deleteShader,bindTexture,bindBuffer,bindRenderBuffer,bindFramebuffer,getUniform,
compileShader,shaderSource,getShaderParameter,getShaderInfoLog,attachShader,linkProgram,getProgramParameter,useProgram,
getAttribLocation,getUniformLocation,getActiveAttrib,getActiveUniform,getAttachedShaders,texImage2D,texSubImage2D,getExtension
but on Android this list is much shorter and there is no readPixels method:
createTexture,createBuffer,createRenderbuffer,createFramebuffer,createProgram,createShader,deleteTexture,
deleteBuffer,deleteRenderbuffer,deleteFramebuffer,deleteProgram,deleteShader,bindTexture,bindBuffer,
bindRenderBuffer,bindFramebuffer,getUniform,compileShader,shaderSource,getShaderParameter,getShaderInfoLog,
attachShader,linkProgram,getProgramParameter,useProgram,getAttribLocation,getUniformLocation,getActiveAttrib,
getActiveUniform,getAttachedShaders,texImage2D,texSubImage2D,getExtension
My Android is 4.1.2 Galaxy Note 2.
Is there a way to use function similar to readPixels of other way to check if sprite is transparent in point?