You can build the project and deploy it to the device. That is enough.
So, you found that if you set texture format for color frame buffer to GL_RGB, it works.
If you also will set texture format for monochrome frame buffers to GL_RGB, you will get working dynamic shadows.
However, I want to find a way to make your Tegra4 work with RGBA texture format. This is important for some games, e.g. Lego Racers. With RGB buffer you will get black squares over racers in that game.
Let's make test version of FBOTextureFormats::init()
void FBOTextureFormats::init()
{
#ifdef GLES2
monochromeInternalFormat = GL_RGB;
monochromeFormat = GL_RGB;
monochromeType = GL_UNSIGNED_SHORT_5_6_5;
monochromeFormatBytes = 2;
depthInternalFormat = GL_DEPTH_COMPONENT;
depthFormat = GL_DEPTH_COMPONENT;
depthType = GL_UNSIGNED_INT;
depthFormatBytes = 2;
const char * extensions = (const char *)glGetString(GL_EXTENSIONS);
if (strstr(extensions, "GL_OES_rgb8_rgba8") != NULL) {
LOG(LOG_ERROR, "GL_OES_rgb8_rgba8 supported. Use RGBA color buffer.\n");
colorInternalFormat = GL_RGBA;
colorFormat = GL_RGBA;
colorType = GL_UNSIGNED_BYTE;
colorFormatBytes = 4;
} else {
LOG(LOG_ERROR, "GL_OES_rgb8_rgba8 not supported. Use RGB color buffer.\n");
colorInternalFormat = GL_RGB;
colorFormat = GL_RGB;
colorType = GL_UNSIGNED_SHORT_5_6_5;
colorFormatBytes = 2;
}
#endif
}
What do you use to build the project? Eclipse? Do you know how to open adb log and see device output?
I put log messages to know if GL_OES_rgb8_rgba8 extension is supported.
Please check for that string in the log. It should be printed on rom start.