我试图通过传递给OpenGL ES 2.0着色器的SurfaceTexture在GLSurfaceView中显示相机流.
我从这篇文章中汲取灵感.
图像已完成但未在我的平板电脑上正确显示.屏幕分为2x2部分.图像显示在左上部分,而其他三个部分显示为黑色.
我怀疑问题来自于我使用此处记录的序列返回的转换矩阵
updateTexImage();
getTransformMatrix(...);
Run Code Online (Sandbox Code Playgroud)
我在顶点着色器中传输此矩阵以生成片段着色器的纹理坐标.
顶点着色器:
attribute vec3 aPosition;
uniform mat4 uMvpTransform;
// Matrix retrieved by getTransformMatrix(...);
uniform mat4 uTexMatTransform;
varying vec2 vTexCoord;
void main(void)
{
gl_Position = uMvpTransform *vec4(aPosition.xyz, 1);
vec4 l_tex = uTexMatTransform*vec4(aPosition.xyz, 1);
vTexCoord=l_tex.xy;
}
Run Code Online (Sandbox Code Playgroud)
片段着色器:
#extension GL_OES_EGL_image_external : require
varying mediump vec2 vTexCoord;
uniform samplerExternalOES uSampler;
void main(void)
{
mediump vec4 l_tex = texture2D(uSampler, vTexCoord);
gl_FragColor=l_tex;
}
Run Code Online (Sandbox Code Playgroud)
纹理附加到以下方块:
// Image container
GLfloat l_vertices[] = {
-1.0f, 1.0f, 0.0f, …Run Code Online (Sandbox Code Playgroud) 我想检查一下如何处理access_token.所以,我curl用来执行以下查询:
curl -X POST https://graph.facebook.com/oauth/access_token -d "client_id=<appId>&client_secret=<secret>&grant_type=client_credentials&redirect_uri="
Run Code Online (Sandbox Code Playgroud)
它返回一个值access_token.
然后,我想得到我朋友的名单:
curl -X POST https://graph.facebook.com/me/friends -d "access_token=<token>"
Run Code Online (Sandbox Code Playgroud)
它返回此错误:
{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}}
Run Code Online (Sandbox Code Playgroud)
任何提示?