Improve Cube Map and FrameBufferObject samples.

Fix tabs and trailing whitespace.

Expand comment to explain how we search for GL extensions.

Rename and document the DEBUG_RENDER_OFFSCREEN_ONSCREEN variable.
Also make it final static because its value never changes.
This commit is contained in:
Jack Palevich
2010-02-03 16:00:49 +08:00
parent f8db21698a
commit 66914d4a73
3 changed files with 46 additions and 35 deletions

View File

@@ -208,8 +208,10 @@ public class CubeMapActivity extends Activity {
String extensions = " " + gl.glGetString(GL10.GL_EXTENSIONS) + " "; String extensions = " " + gl.glGetString(GL10.GL_EXTENSIONS) + " ";
// The extensions string is padded with spaces between extensions, but not // The extensions string is padded with spaces between extensions, but not
// necessarily at the beginning or end. For simplicity, add spaces at the // necessarily at the beginning or end. For simplicity, add spaces at the
// beginning and end of the extensions string to make it easy to find an // beginning and end of the extensions string and the extension string.
// extension. // This means we can avoid special-case checks for the first or last
// extension, as well as avoid special-case checks when an extension name
// is the same as the first part of another extension name.
return extensions.indexOf(" " + extension + " ") >= 0; return extensions.indexOf(" " + extension + " ") >= 0;
} }
} }

View File

@@ -48,13 +48,20 @@ public class FrameBufferObjectActivity extends Activity {
private Triangle mTriangle; private Triangle mTriangle;
private Cube mCube; private Cube mCube;
private float mAngle; private float mAngle;
private boolean mDebugOffscreenRenderer = false; /**
* Setting this to true will change the behavior of this sample. It
* will suppress the normally onscreen rendering, and it will cause the
* rendering that would normally be done to the offscreen FBO
* be rendered onscreen instead. This can be helpful in debugging the
* rendering algorithm.
*/
private static final boolean DEBUG_RENDER_OFFSCREEN_ONSCREEN = false;
public void onDrawFrame(GL10 gl) { public void onDrawFrame(GL10 gl) {
checkGLError(gl); checkGLError(gl);
if (mContextSupportsFrameBufferObject) { if (mContextSupportsFrameBufferObject) {
GL11ExtensionPack gl11ep = (GL11ExtensionPack) gl; GL11ExtensionPack gl11ep = (GL11ExtensionPack) gl;
if (mDebugOffscreenRenderer) { if (DEBUG_RENDER_OFFSCREEN_ONSCREEN) {
drawOffscreenImage(gl, mSurfaceWidth, mSurfaceHeight); drawOffscreenImage(gl, mSurfaceWidth, mSurfaceHeight);
} else { } else {
gl11ep.glBindFramebufferOES(GL11ExtensionPack.GL_FRAMEBUFFER_OES, mFramebuffer); gl11ep.glBindFramebufferOES(GL11ExtensionPack.GL_FRAMEBUFFER_OES, mFramebuffer);
@@ -231,8 +238,10 @@ public class FrameBufferObjectActivity extends Activity {
String extensions = " " + gl.glGetString(GL10.GL_EXTENSIONS) + " "; String extensions = " " + gl.glGetString(GL10.GL_EXTENSIONS) + " ";
// The extensions string is padded with spaces between extensions, but not // The extensions string is padded with spaces between extensions, but not
// necessarily at the beginning or end. For simplicity, add spaces at the // necessarily at the beginning or end. For simplicity, add spaces at the
// beginning and end of the extensions string to make it easy to find an // beginning and end of the extensions string and the extension string.
// extension. // This means we can avoid special-case checks for the first or last
// extension, as well as avoid special-case checks when an extension name
// is the same as the first part of another extension name.
return extensions.indexOf(" " + extension + " ") >= 0; return extensions.indexOf(" " + extension + " ") >= 0;
} }
} }