Ich arbeite an einem Projekt mit Vuforia. Ich verwende VideoPlayback Probe von Vuforia.Vuforia ChromaKey auf Video-Overlay
Wenn Vuforia einen Marker erkennt, wird ein Video als Überlagerung auf diesem Marker abgespielt. Ich versuche, ein Chromakey auf Video-Overlay anwenden. Ich finde diesen Artikel http://pilcrowpipe.blogspot.fr/2013/03/chroma-keying-transparent-background.html
Ich versuche, den Code zu implementieren, aber nichts funktioniert. Ich denke, dass dieses Beispiel Video-Hintergrund für Chromakey verwendet, aber ich möchte Chromakey auf Overlay-Video. Habe ich recht ?
In Vuforia Beispiel, ich denke, ich muss etwas in renderFrameWithState Funktion ändern.
if (NOT_READY != currentStatus) {
// Convert trackable pose to matrix for use with OpenGL
// ...
/// TEST doesn't work
//glDepthFunc(GL_LEQUAL);
//glEnable(GL_BLEND);
//glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
///
// ...
glUseProgram(shaderProgramID);
glVertexAttribPointer(vertexHandle, 3, GL_FLOAT, GL_FALSE, 0, quadVertices);
glVertexAttribPointer(normalHandle, 3, GL_FLOAT, GL_FALSE, 0, quadNormals);
glVertexAttribPointer(textureCoordHandle, 2, GL_FLOAT, GL_FALSE, 0, texCoords);
glEnableVertexAttribArray(vertexHandle);
glEnableVertexAttribArray(normalHandle);
glEnableVertexAttribArray(textureCoordHandle);
// I think I must change something in code above...
// But what and where ????
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, frameTextureID);
glUniformMatrix4fv(mvpMatrixHandle, 1, GL_FALSE, (GLfloat*)&modelViewProjectionVideo.data[0]);
glUniform1i(texSampler2DHandle, 0 /*GL_TEXTURE0*/);
glDrawElements(GL_TRIANGLES, kNumQuadIndices, GL_UNSIGNED_SHORT, quadIndices);
glDisableVertexAttribArray(vertexHandle);
glDisableVertexAttribArray(normalHandle);
glDisableVertexAttribArray(textureCoordHandle);
glUseProgram(0);
}
Ich bin völlig neu mit OpenGL ES.
Jeder kann mir helfen?
Dank
Haben Sie bei der Protokollierung nach gl-Fehlern gesucht? Es könnte Ihnen helfen zu sehen, ob etwas nicht stimmt.Außerdem würde ich versuchen, den vorherigen Fragment-Shader zu überprüfen, um herauszufinden, wo das Problem liegt (wenn es im Shader ist oder nicht), da dieses neue Orientierungsproblem seltsam erscheint – yakobom