@@ -50,7 +50,7 @@ public static void log(String log) {
50
50
public abstract void onResume ();
51
51
public abstract void onPause ();
52
52
53
- public VideoBase (PApplet parent ) {
53
+ public VideoBase (PApplet parent , int width , int height ) {
54
54
super ();
55
55
this .parent = parent ;
56
56
if (width == -1 || height == -1 ) {
@@ -91,67 +91,58 @@ protected void createSurfaceTexture() {
91
91
}
92
92
93
93
protected void prepareFrameBuffers () {
94
-
95
94
GLES20 .glActiveTexture (GLES20 .GL_TEXTURE0 );
96
-
97
- // Generate frame buffer
95
+
96
+ //Generate frame buffer
98
97
GLES20 .glGenFramebuffers (1 , frameBuffers );
99
98
GlUtil .checkGlError ("glGenFramebuffers" );
100
- // Bind frame buffer
99
+ //Bind frame buffer
101
100
GLES20 .glBindFramebuffer (GLES20 .GL_FRAMEBUFFER , frameBuffers .get (0 ));
102
101
GlUtil .checkGlError ("glBindFramebuffer" );
103
-
104
- // Generate render buffers
102
+
103
+ //Generate render buffers
105
104
GLES20 .glGenRenderbuffers (1 , renderBuffers );
106
105
GlUtil .checkGlError ("glGenRenderbuffers" );
107
- // Bind render buffers
106
+ //Bind render buffers
108
107
GLES20 .glBindRenderbuffer (GLES20 .GL_RENDERBUFFER , renderBuffers .get (0 ));
109
108
GlUtil .checkGlError ("glBindRenderbuffer" );
110
- // Allocate memory to render buffers
111
- GLES20 .glRenderbufferStorage (GLES20 .GL_RENDERBUFFER ,
112
- GLES20 .GL_DEPTH_COMPONENT16 , width , height );
109
+ //Allocate memory to render buffers
110
+ GLES20 .glRenderbufferStorage (GLES20 .GL_RENDERBUFFER , GLES20 .GL_DEPTH_COMPONENT16 , width , height );
113
111
GlUtil .checkGlError ("glRenderbufferStorage" );
114
-
115
- // Attach render buffer to frame buffer
116
- GLES20 .glFramebufferRenderbuffer (GLES20 .GL_FRAMEBUFFER ,
117
- GLES20 .GL_DEPTH_ATTACHMENT , GLES20 .GL_RENDERBUFFER ,
118
- renderBuffers .get (0 ));
112
+
113
+ //Attach render buffer to frame buffer
114
+ GLES20 .glFramebufferRenderbuffer (GLES20 .GL_FRAMEBUFFER , GLES20 .GL_DEPTH_ATTACHMENT ,
115
+ GLES20 .GL_RENDERBUFFER , renderBuffers .get (0 ));
119
116
GlUtil .checkGlError ("glFramebufferRenderbuffer" );
120
-
117
+
121
118
GLES20 .glGenTextures (1 , customTexture );
122
119
GlUtil .checkGlError ("glGenTextures" );
123
120
124
121
GLES20 .glBindTexture (GLES20 .GL_TEXTURE_2D , customTexture .get (0 ));
125
122
GlUtil .checkGlError ("glBindTexture" );
126
-
127
- GLES20 .glTexParameteri (GLES20 .GL_TEXTURE_2D ,
128
- GLES20 .GL_TEXTURE_MIN_FILTER , GLES20 .GL_LINEAR );
129
- GLES20 .glTexParameteri (GLES20 .GL_TEXTURE_2D ,
130
- GLES20 .GL_TEXTURE_MAG_FILTER , GLES20 .GL_LINEAR );
131
- GLES20 .glTexParameterf (GLES20 .GL_TEXTURE_2D , GLES20 .GL_TEXTURE_WRAP_S ,
132
- GLES20 .GL_CLAMP_TO_EDGE );
133
- GLES20 .glTexParameterf (GLES20 .GL_TEXTURE_2D , GLES20 .GL_TEXTURE_WRAP_T ,
134
- GLES20 .GL_CLAMP_TO_EDGE );
135
- GLES20 .glTexImage2D (GLES20 .GL_TEXTURE_2D , 0 , GLES20 .GL_RGBA , width ,
136
- height , 0 , GLES20 .GL_RGBA , GLES20 .GL_UNSIGNED_BYTE , null );
123
+
124
+ GLES20 .glTexParameteri (GLES20 .GL_TEXTURE_2D , GLES20 .GL_TEXTURE_MIN_FILTER , GLES20 .GL_LINEAR );
125
+ GLES20 .glTexParameteri (GLES20 .GL_TEXTURE_2D , GLES20 .GL_TEXTURE_MAG_FILTER , GLES20 .GL_LINEAR );
126
+ GLES20 .glTexParameterf (GLES20 .GL_TEXTURE_2D , GLES20 .GL_TEXTURE_WRAP_S , GLES20 .GL_CLAMP_TO_EDGE );
127
+ GLES20 .glTexParameterf (GLES20 .GL_TEXTURE_2D , GLES20 .GL_TEXTURE_WRAP_T , GLES20 .GL_CLAMP_TO_EDGE );
128
+ GLES20 .glTexImage2D (GLES20 .GL_TEXTURE_2D , 0 , GLES20 .GL_RGBA , width , height , 0 , GLES20 .GL_RGBA , GLES20 .GL_UNSIGNED_BYTE , null );
137
129
GlUtil .checkGlError ("glTexImage2D" );
138
130
139
- GLES20 .glFramebufferTexture2D (GLES20 .GL_FRAMEBUFFER ,
140
- GLES20 .GL_COLOR_ATTACHMENT0 , GLES20 .GL_TEXTURE_2D ,
141
- customTexture .get (0 ), 0 );
131
+ GLES20 .glFramebufferTexture2D (GLES20 .GL_FRAMEBUFFER , GLES20 .GL_COLOR_ATTACHMENT0 ,
132
+ GLES20 .GL_TEXTURE_2D , customTexture .get (0 ), 0 );
142
133
GlUtil .checkGlError ("glFramebufferTexture2D" );
143
-
134
+
144
135
/*
145
- * //No sure if this is required in opengl es 2. Ignoring as of now.
146
- * IntBuffer drawBuffers = IntBuffer.allocate(1); drawBuffers.put(0,
147
- * GLES20.GL_COLOR_ATTACHMENT0); GLES30.glDrawBuffers(1, drawBuffers);
148
- */
149
-
136
+ //No sure if this is required in opengl es 2. Ignoring as of now.
137
+ IntBuffer drawBuffers = IntBuffer.allocate(1);
138
+ drawBuffers.put(0, GLES20.GL_COLOR_ATTACHMENT0);
139
+ GLES30.glDrawBuffers(1, drawBuffers);
140
+ */
141
+
150
142
// See if GLES is happy with all this.
151
143
int status = GLES20 .glCheckFramebufferStatus (GLES20 .GL_FRAMEBUFFER );
152
144
if (status != GLES20 .GL_FRAMEBUFFER_COMPLETE ) {
153
- throw new RuntimeException ("Framebuffer not complete, status="
154
- + status );
145
+ throw new RuntimeException ("Framebuffer not complete, status=" + status );
155
146
}
156
147
}
157
148
0 commit comments