Project

General

Profile

« Previous | Next » 

Revision 02de77c9

Added by Leszek Koltunski over 7 years ago

Progress with multi-program rendering.

View differences:

src/main/java/org/distorted/library/Distorted.java
77 77
   */
78 78
  public static final int CLONE_CHILDREN= 0x20;
79 79

  
80
  static int[] mMainProgramAttributes;
81
  static int[] mPostProgramAttributes;
82

  
83
  static int mainProgramH, postProgramH;
80
  static DistortedProgram mMainProgram, mPostProgram;
84 81

  
85 82
///////////////////////////////////////////////////////////////////////////////////////////////////
86 83
// private: hide this from Javadoc
......
94 91

  
95 92
  static boolean isInitialized()
96 93
    {
97
    return (mMainProgramAttributes!=null);
94
    return (mMainProgram!=null);
98 95
    }
99 96

  
100 97
///////////////////////////////////////////////////////////////////////////////////////////////////
......
135 132
        mainFragmentHeader += ("#define "+name.name()+" "+name.ordinal()+"\n");
136 133
      }
137 134

  
138
    DistortedProgram mainProgram = new DistortedProgram(mainVertexStream,mainFragmentStream, mainVertexHeader, mainFragmentHeader);
139
    mainProgramH = mainProgram.getProgramHandle();
140
    GLES20.glUseProgram(mainProgramH);
141
    mainProgram.bindAndEnableAttributes();
142
    mMainProgramAttributes = mainProgram.getAttributes();
135
    mMainProgram = new DistortedProgram(mainVertexStream,mainFragmentStream, mainVertexHeader, mainFragmentHeader);
136
    int mainProgramH = mMainProgram.getProgramHandle();
143 137

  
144 138
    GLES20.glDepthFunc(GLES20.GL_LEQUAL);
145 139
    GLES20.glEnable(GLES20.GL_BLEND);
......
164 158
        postFragmentHeader += ("#define "+name.name()+" "+name.ordinal()+"\n");
165 159
      }
166 160

  
167
    DistortedProgram postProgram = new DistortedProgram(postVertexStream,postFragmentStream, "", postFragmentHeader);
168
    postProgramH = postProgram.getProgramHandle();
169
    GLES20.glUseProgram(postProgramH);
170
    postProgram.bindAndEnableAttributes();
171
    mPostProgramAttributes = postProgram.getAttributes();
161
    mPostProgram = new DistortedProgram(postVertexStream,postFragmentStream, "", postFragmentHeader);
162
    int postProgramH = mPostProgram.getProgramHandle();
172 163

  
173 164
    EffectQueuePostprocess.getUniforms(postProgramH);
174 165

  
......
190 181
    DistortedEffects.onDestroy();
191 182
    EffectMessageSender.stopSending();
192 183

  
193
    mMainProgramAttributes = null;
194
    mPostProgramAttributes = null;
184
    mMainProgram = null;
185
    mPostProgram = null;
195 186
    }
196 187
  }

Also available in: Unified diff