Project

General

Profile

« Previous | Next » 

Revision c90b9e01

Added by Leszek Koltunski over 7 years ago

Progress with getting Mesh'es bounding rectangle. Still doesn't quite work yet (visible : 'Cubes' app with a 0111 Mesh)

View differences:

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