Revision a9f41fa3
Added by Leszek Koltunski over 7 years ago
src/main/java/org/distorted/library/DistortedOutputSurface.java | ||
---|---|---|
40 | 40 |
int[] mDepthH = new int[1]; |
41 | 41 |
int[] mFBOH = new int[1]; |
42 | 42 |
|
43 |
private float mClearR, mClearG, mClearB, mClearA; |
|
44 |
private float mClearDepth; |
|
45 |
|
|
43 | 46 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
44 | 47 |
|
45 | 48 |
abstract DistortedFramebuffer getBuffer(); |
... | ... | |
64 | 67 |
|
65 | 68 |
mTime = 0; |
66 | 69 |
|
70 |
mClearR = 0.0f; |
|
71 |
mClearG = 0.0f; |
|
72 |
mClearB = 0.0f; |
|
73 |
mClearA = 0.0f; |
|
74 |
|
|
75 |
mClearDepth = 1.0f; |
|
76 |
|
|
67 | 77 |
createProjection(); |
68 | 78 |
} |
69 | 79 |
|
... | ... | |
239 | 249 |
{ |
240 | 250 |
mTime = time; |
241 | 251 |
DistortedRenderState.colorDepthOn(); |
242 |
GLES30.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); |
|
252 |
GLES30.glClearColor(mClearR, mClearG, mClearB, mClearA); |
|
253 |
GLES30.glClearDepthf(mClearDepth); |
|
243 | 254 |
GLES30.glClear( GLES30.GL_DEPTH_BUFFER_BIT | GLES30.GL_COLOR_BUFFER_BIT); |
244 | 255 |
} |
245 | 256 |
} |
246 | 257 |
|
258 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
259 |
/** |
|
260 |
* Set the (R,G,B,A) values of GLES30.glClearColor() to set up color with which to clear |
|
261 |
* this Surface before each render. |
|
262 |
* |
|
263 |
* @param r the Red component. Default: 0.0f |
|
264 |
* @param g the Green component. Default: 0.0f |
|
265 |
* @param b the Blue component. Default: 0.0f |
|
266 |
* @param a the Alpha component. Default: 0.0f |
|
267 |
*/ |
|
268 |
public void glClearColor(float r, float g, float b, float a) |
|
269 |
{ |
|
270 |
mClearR = r; |
|
271 |
mClearG = g; |
|
272 |
mClearB = b; |
|
273 |
mClearA = a; |
|
274 |
} |
|
275 |
|
|
276 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
277 |
/** |
|
278 |
* Set the Depth value of GLES30.glClearDepthf() to set up depth with which to clear |
|
279 |
* the Depth buffer of Surface before each render. |
|
280 |
* |
|
281 |
* @param d the Depth. Default: 1.0f |
|
282 |
*/ |
|
283 |
public void glClearDepthf(float d) |
|
284 |
{ |
|
285 |
mClearDepth = d; |
|
286 |
} |
|
287 |
|
|
247 | 288 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
248 | 289 |
/** |
249 | 290 |
* Create new Projection matrix. |
Also available in: Unified diff
New 'glClearColor' and 'glClearDepthf' APIs in OutputSurface. This fixes the 'transparency' regressions from last commit.