Commit 8267b0c0 authored by Gaëtan Renaudeau's avatar Gaëtan Renaudeau

Fixes #12 alpha issue: only enable blend for fbo->screen drawing

parent 424c7cf2
...@@ -286,6 +286,8 @@ RCT_NOT_IMPLEMENTED(-init) ...@@ -286,6 +286,8 @@ RCT_NOT_IMPLEMENTED(-init)
- (void)drawRect:(CGRect)rect - (void)drawRect:(CGRect)rect
{ {
self.layer.opaque = _opaque;
[self syncEventsThrough];
if (!_preloadingDone) { if (!_preloadingDone) {
glClearColor(0.0, 0.0, 0.0, 0.0); glClearColor(0.0, 0.0, 0.0, 0.0);
...@@ -308,9 +310,6 @@ RCT_NOT_IMPLEMENTED(-init) ...@@ -308,9 +310,6 @@ RCT_NOT_IMPLEMENTED(-init)
- (void)render - (void)render
{ {
if (!_renderData) return; if (!_renderData) return;
self.layer.opaque = _opaque;
[self syncEventsThrough];
CGFloat scale = RCTScreenScale(); CGFloat scale = RCTScreenScale();
...@@ -355,12 +354,19 @@ RCT_NOT_IMPLEMENTED(-init) ...@@ -355,12 +354,19 @@ RCT_NOT_IMPLEMENTED(-init)
glDrawArrays(GL_TRIANGLES, 0, 6); glDrawArrays(GL_TRIANGLES, 0, 6);
}; };
// DRAWING THE SCENE
glGetIntegerv(GL_FRAMEBUFFER_BINDING, &defaultFBO); glGetIntegerv(GL_FRAMEBUFFER_BINDING, &defaultFBO);
glDisable(GL_BLEND);
[self syncContentTextures]; [self syncContentTextures];
recDraw(_renderData); recDraw(_renderData);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glBindFramebuffer(GL_FRAMEBUFFER, defaultFBO); glBindFramebuffer(GL_FRAMEBUFFER, defaultFBO);
} }
} }
......
...@@ -345,9 +345,6 @@ GLuint compileShader (NSString* shaderName, NSString* shaderString, GLenum shade ...@@ -345,9 +345,6 @@ GLuint compileShader (NSString* shaderName, NSString* shaderString, GLenum shade
- (void) makeProgram - (void) makeProgram
{ {
if (![self ensureContext]) return; if (![self ensureContext]) return;
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
GLuint vertex = compileShader(_name, _vert, GL_VERTEX_SHADER); GLuint vertex = compileShader(_name, _vert, GL_VERTEX_SHADER);
if (vertex == -1) return; if (vertex == -1) return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment