| 70 |
70 |
*/
|
| 71 |
71 |
public static final int CLONE_CHILDREN= 0x10;
|
| 72 |
72 |
|
| 73 |
|
private static boolean mInitialized = false;
|
| 74 |
|
|
| 75 |
73 |
static int[] mMainProgramAttributes;
|
| 76 |
74 |
|
| 77 |
75 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
| ... | ... | |
| 85 |
83 |
|
| 86 |
84 |
static boolean isInitialized()
|
| 87 |
85 |
{
|
| 88 |
|
return mInitialized;
|
|
86 |
return (mMainProgramAttributes!=null);
|
| 89 |
87 |
}
|
| 90 |
88 |
|
| 91 |
89 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
| ... | ... | |
| 105 |
103 |
public static void onCreate(final Context context)
|
| 106 |
104 |
throws FragmentCompilationException,VertexCompilationException,VertexUniformsException,FragmentUniformsException,LinkingException
|
| 107 |
105 |
{
|
| 108 |
|
mInitialized = true;
|
| 109 |
|
|
| 110 |
106 |
final InputStream vertexStream = context.getResources().openRawResource(R.raw.main_vertex_shader);
|
| 111 |
107 |
final InputStream fragmentStream = context.getResources().openRawResource(R.raw.main_fragment_shader);
|
| 112 |
108 |
|
| ... | ... | |
| 116 |
112 |
mainProgram.bindAndEnableAttributes();
|
| 117 |
113 |
mMainProgramAttributes = mainProgram.getAttributes();
|
| 118 |
114 |
|
| 119 |
|
int textureUniformH = GLES20.glGetUniformLocation(programH, "u_Texture");
|
| 120 |
|
|
| 121 |
115 |
GLES20.glEnable (GLES20.GL_DEPTH_TEST);
|
| 122 |
116 |
GLES20.glDepthFunc(GLES20.GL_LEQUAL);
|
| 123 |
117 |
GLES20.glEnable(GLES20.GL_BLEND);
|
| ... | ... | |
| 125 |
119 |
GLES20.glEnable(GLES20.GL_CULL_FACE);
|
| 126 |
120 |
GLES20.glCullFace(GLES20.GL_BACK);
|
| 127 |
121 |
GLES20.glFrontFace(GLES20.GL_CW);
|
| 128 |
|
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
|
| 129 |
|
GLES20.glUniform1i(textureUniformH, 0);
|
| 130 |
122 |
|
| 131 |
123 |
EffectQueueFragment.getUniforms(programH);
|
| 132 |
124 |
EffectQueueVertex.getUniforms(programH);
|
| 133 |
125 |
EffectQueueMatrix.getUniforms(programH);
|
|
126 |
DistortedTexture.getUniforms(programH);
|
| 134 |
127 |
|
| 135 |
128 |
DistortedTree.reset();
|
| 136 |
129 |
EffectMessageSender.startSending();
|
| ... | ... | |
| 149 |
142 |
EffectQueue.onDestroy();
|
| 150 |
143 |
DistortedEffects.onDestroy();
|
| 151 |
144 |
EffectMessageSender.stopSending();
|
| 152 |
|
|
| 153 |
|
mInitialized = false;
|
|
145 |
|
|
146 |
mMainProgramAttributes = null;
|
| 154 |
147 |
}
|
| 155 |
148 |
}
|
Minor.