Skip to content

Commit a8ffb76

Browse files
committed
Move CCRenderCheckVisibility() back to CCRenderer.h.
1 parent 153edf2 commit a8ffb76

File tree

2 files changed

+17
-16
lines changed

2 files changed

+17
-16
lines changed

cocos2d/CCRenderer.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,23 @@
2929
#import "CCRendererBasicTypes.h"
3030

3131

32+
/// Check if the given bounding box as specified by it's center and extents (half with/height) is visible onscreen.
33+
static inline BOOL
34+
CCRenderCheckVisbility(const GLKMatrix4 *transform, GLKVector2 center, GLKVector2 extents)
35+
{
36+
// Center point in clip coordinates.
37+
GLKVector4 csc = GLKMatrix4MultiplyVector4(*transform, GLKVector4Make(center.x, center.y, 0.0f, 1.0f));
38+
39+
// x, y in clip space.
40+
float cshx = fmaxf(fabsf(extents.x*transform->m00 + extents.y*transform->m10), fabsf(extents.x*transform->m00 - extents.y*transform->m10));
41+
float cshy = fmaxf(fabsf(extents.x*transform->m01 + extents.y*transform->m11), fabsf(extents.x*transform->m01 - extents.y*transform->m11));
42+
43+
// Check the bounds against the clip space viewport using a conservative w-value.
44+
float w = fabsf(csc.w) + fmaxf(fabsf(extents.x*transform->m03 + extents.y*transform->m13), fabsf(extents.x*transform->m03 - extents.y*transform->m13));
45+
return ((fabsf(csc.x) - cshx < w) && (fabsf(csc.y) - cshy < w));
46+
}
47+
48+
3249
/// A rendering queue.
3350
/// All drawing commands in Cocos2D must be sequenced using a CCRenderer.
3451
@interface CCRenderer : NSObject

cocos2d/CCRendererBasicTypes.h

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -87,22 +87,6 @@ CCRenderBufferSetLine(CCRenderBuffer buffer, int index, GLushort a, GLushort b)
8787
buffer.elements[2*index + 1] = b + offset;
8888
}
8989

90-
/// Check if the given bounding box as specified by it's center and extents (half with/height) is visible onscreen.
91-
static inline BOOL
92-
CCRenderCheckVisbility(const GLKMatrix4 *transform, GLKVector2 center, GLKVector2 extents)
93-
{
94-
// Center point in clip coordinates.
95-
GLKVector4 csc = GLKMatrix4MultiplyVector4(*transform, GLKVector4Make(center.x, center.y, 0.0f, 1.0f));
96-
97-
// x, y in clip space.
98-
float cshx = fmaxf(fabsf(extents.x*transform->m00 + extents.y*transform->m10), fabsf(extents.x*transform->m00 - extents.y*transform->m10));
99-
float cshy = fmaxf(fabsf(extents.x*transform->m01 + extents.y*transform->m11), fabsf(extents.x*transform->m01 - extents.y*transform->m11));
100-
101-
// Check the bounds against the clip space viewport using a conservative w-value.
102-
float w = fabs(csc.w) + fmaxf(fabsf(extents.x*transform->m03 + extents.y*transform->m13), fabsf(extents.x*transform->m03 - extents.y*transform->m13));
103-
return ((fabs(csc.x) - cshx < w) && (fabs(csc.y) - cshy < w));
104-
}
105-
10690

10791
/// Key used to set the source color factor for [CCBlendMode blendModeWithOptions:].
10892
extern const NSString *CCBlendFuncSrcColor;

0 commit comments

Comments
 (0)