Skip to content

Commit 67698b2

Browse files
author
Thayer J Andrews
committed
CCEffects - [CCEffect prepareForRendering] -> [CCEffect prepareForRenderingWithSprite]
Since prepareForRendering is responsible for dynamic shader generation in response to property changes, the lighting shader is dependent on the presence or absence of a normal map, and the normal map lives on the sprite, the affected sprite needs to be supplied to prepareForRendering. That was not being done in the past. It is now.
1 parent 864470c commit 67698b2

File tree

9 files changed

+10
-10
lines changed

9 files changed

+10
-10
lines changed

cocos2d/CCEffect.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -572,7 +572,7 @@ - (BOOL)readyForRendering
572572
return YES;
573573
}
574574

575-
- (CCEffectPrepareStatus)prepareForRendering
575+
- (CCEffectPrepareStatus)prepareForRenderingWithSprite:(CCSprite *)sprite
576576
{
577577
return CCEffectPrepareNothingToDo;
578578
}

cocos2d/CCEffectBloom.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ - (BOOL)readyForRendering
403403
return !_shaderDirty;
404404
}
405405

406-
- (CCEffectPrepareStatus)prepareForRendering
406+
- (CCEffectPrepareStatus)prepareForRenderingWithSprite:(CCSprite *)sprite
407407
{
408408
CCEffectPrepareStatus result = CCEffectPrepareNothingToDo;
409409
if (_shaderDirty)

cocos2d/CCEffectBlur.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ -(void)buildRenderPasses
323323
self.renderPasses = @[pass0, pass1];
324324
}
325325

326-
- (CCEffectPrepareStatus)prepareForRendering
326+
- (CCEffectPrepareStatus)prepareForRenderingWithSprite:(CCSprite *)sprite
327327
{
328328
CCEffectPrepareStatus result = CCEffectPrepareNothingToDo;
329329
if (_shaderDirty)

cocos2d/CCEffectDropShadow.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ -(void)buildRenderPasses
332332
self.renderPasses = @[pass0, pass1, pass3];
333333
}
334334

335-
- (CCEffectPrepareStatus)prepareForRendering
335+
- (CCEffectPrepareStatus)prepareForRenderingWithSprite:(CCSprite *)sprite
336336
{
337337
CCEffectPrepareStatus result = CCEffectPrepareNothingToDo;
338338
if (_shaderDirty)

cocos2d/CCEffectLighting.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ -(void)buildRenderPasses
245245
self.renderPasses = @[pass0];
246246
}
247247

248-
- (CCEffectPrepareStatus)prepareForRendering
248+
- (CCEffectPrepareStatus)prepareForRenderingWithSprite:(CCSprite *)sprite
249249
{
250250
CCEffectPrepareStatus result = CCEffectPrepareNothingToDo;
251251

cocos2d/CCEffectNode.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ -(void)draw:(CCRenderer *)renderer transform:(const GLKMatrix4 *)transform
159159
if (_effect)
160160
{
161161
_effectRenderer.contentSize = self.contentSizeInPoints;
162-
if ([_effect prepareForRendering] == CCEffectPrepareSuccess)
162+
if ([_effect prepareForRenderingWithSprite:_sprite] == CCEffectPrepareSuccess)
163163
{
164164
// Preparing an effect for rendering can modify its uniforms
165165
// dictionary which means we need to reinitialize our copy of the

cocos2d/CCEffectStack.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ - (void)dealloc
111111

112112
#pragma mark - CCEffect overrides
113113

114-
- (CCEffectPrepareStatus)prepareForRendering
114+
- (CCEffectPrepareStatus)prepareForRenderingWithSprite:(CCSprite *)sprite
115115
{
116116
CCEffectPrepareStatus result = CCEffectPrepareNothingToDo;
117117
if (_passesDirty)
@@ -147,7 +147,7 @@ - (CCEffectPrepareStatus)prepareForRendering
147147
{
148148
// Make sure all the contained effects are ready for rendering
149149
// before we do anything else.
150-
[effect prepareForRendering];
150+
[effect prepareForRenderingWithSprite:sprite];
151151

152152
// And find the max padding values of all contained effects.
153153
if (effect.padding.width > maxPadding.width)

cocos2d/CCEffect_Private.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ typedef void (^CCEffectRenderPassEndBlock)(CCEffectRenderPass *pass);
165165
-(id)initWithFragmentFunction:(NSMutableArray*) fragmentFunctions vertexFunctions:(NSMutableArray*)vertexFunctions fragmentUniforms:(NSArray*)fragmentUniforms vertexUniforms:(NSArray*)vertexUniforms varyings:(NSArray*)varyings;
166166
-(id)initWithFragmentFunction:(NSMutableArray*) fragmentFunctions vertexFunctions:(NSMutableArray*)vertexFunctions fragmentUniforms:(NSArray*)fragmentUniforms vertexUniforms:(NSArray*)vertexUniforms varyings:(NSArray*)varyings firstInStack:(BOOL)firstInStack;
167167

168-
-(CCEffectPrepareStatus)prepareForRendering;
168+
-(CCEffectPrepareStatus)prepareForRenderingWithSprite:(CCSprite *)sprite;
169169
-(CCEffectRenderPass *)renderPassAtIndex:(NSUInteger)passIndex;
170170

171171
-(BOOL)stitchSupported:(CCEffectFunctionStitchFlags)stitch;

cocos2d/CCNoARC.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ -(void)draw:(CCRenderer *)renderer transform:(const GLKMatrix4 *)transform;
8383
if (_effect)
8484
{
8585
_effectRenderer.contentSize = self.contentSizeInPoints;
86-
if ([self.effect prepareForRendering] == CCEffectPrepareSuccess)
86+
if ([self.effect prepareForRenderingWithSprite:self] == CCEffectPrepareSuccess)
8787
{
8888
// Preparing an effect for rendering can modify its uniforms
8989
// dictionary which means we need to reinitialize our copy of the

0 commit comments

Comments
 (0)