Revision c90b9e01
Added by Leszek Koltunski over 7 years ago
src/main/java/org/distorted/library/Distorted.java | ||
---|---|---|
113 | 113 |
{ |
114 | 114 |
final Resources resources = context.getResources(); |
115 | 115 |
|
116 |
final InputStream mainVertexStream = resources.openRawResource(R.raw.main_vertex_shader); |
|
117 |
final InputStream mainFragmentStream = resources.openRawResource(R.raw.main_fragment_shader); |
|
118 |
|
|
119 |
String mainVertexHeader= ("#version 100\n#define NUM_VERTEX " + DistortedEffects.getMaxVertex()+"\n"); |
|
120 |
|
|
121 |
for(EffectNames name: EffectNames.values() ) |
|
122 |
{ |
|
123 |
if( name.getType()== EffectTypes.VERTEX) |
|
124 |
mainVertexHeader += ("#define "+name.name()+" "+name.ordinal()+"\n"); |
|
125 |
} |
|
126 |
|
|
127 |
String mainFragmentHeader= ("#version 100\n#define NUM_FRAGMENT " + DistortedEffects.getMaxFragment()+"\n"); |
|
128 |
|
|
129 |
for(EffectNames name: EffectNames.values() ) |
|
130 |
{ |
|
131 |
if( name.getType()== EffectTypes.FRAGMENT) |
|
132 |
mainFragmentHeader += ("#define "+name.name()+" "+name.ordinal()+"\n"); |
|
133 |
} |
|
134 |
|
|
135 |
DistortedProgram mainProgram = new DistortedProgram(mainVertexStream,mainFragmentStream, mainVertexHeader, mainFragmentHeader); |
|
136 |
int mainProgramH = mainProgram.getProgramHandle(); |
|
137 |
|
|
138 | 116 |
GLES20.glDepthFunc(GLES20.GL_LEQUAL); |
139 | 117 |
GLES20.glEnable(GLES20.GL_BLEND); |
140 | 118 |
GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA); |
... | ... | |
142 | 120 |
GLES20.glCullFace(GLES20.GL_BACK); |
143 | 121 |
GLES20.glFrontFace(GLES20.GL_CW); |
144 | 122 |
|
145 |
EffectQueueFragment.getUniforms(mainProgramH); |
|
146 |
EffectQueueVertex.getUniforms(mainProgramH); |
|
147 |
EffectQueueMatrix.getUniforms(mainProgramH); |
|
148 |
DistortedTexture.getUniforms(mainProgramH); |
|
123 |
DistortedEffects.createProgram(resources); |
|
124 |
EffectQueuePostprocess.createProgram(resources); |
|
149 | 125 |
|
150 |
final InputStream postVertexStream = resources.openRawResource(R.raw.post_vertex_shader); |
|
151 |
final InputStream postFragmentStream = resources.openRawResource(R.raw.post_fragment_shader); |
|
152 |
|
|
153 |
String postFragmentHeader= ("#version 100\n#define NUM_POSTPROCESS " + DistortedEffects.getMaxPostprocess()+"\n"); |
|
154 |
|
|
155 |
for(EffectNames name: EffectNames.values() ) |
|
156 |
{ |
|
157 |
if( name.getType()== EffectTypes.POSTPROCESS) |
|
158 |
postFragmentHeader += ("#define "+name.name()+" "+name.ordinal()+"\n"); |
|
159 |
} |
|
160 |
|
|
161 |
DistortedProgram postProgram = new DistortedProgram(postVertexStream,postFragmentStream, "", postFragmentHeader); |
|
162 |
int postProgramH = postProgram.getProgramHandle(); |
|
163 |
|
|
164 |
EffectQueuePostprocess.getUniforms(postProgramH); |
|
165 |
|
|
166 |
DistortedEffects.setProgram(mainProgram); |
|
167 |
EffectQueuePostprocess.setProgram(postProgram); |
|
168 | 126 |
DistortedTree.reset(); |
169 | 127 |
EffectMessageSender.startSending(); |
128 |
|
|
129 |
mInitialized = true; |
|
170 | 130 |
} |
171 | 131 |
|
172 | 132 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
Progress with getting Mesh'es bounding rectangle. Still doesn't quite work yet (visible : 'Cubes' app with a 0111 Mesh)