Pro OpenGL ES for iOS

(singke) #1

280 CHAPTER 8: Putting It All Together^


width = i;
}
height = size.height;

if((height != 1) && (height & (height - 1)))
{
i = 1;

while(i < height)
i *= 2;

height = i;
}

colorSpace = CGColorSpaceCreateDeviceGray(); //3

data = calloc(height, width); //4

context = CGBitmapContextCreate(data, width, height, 8, width, colorSpace,
kCGImageAlphaNone);

CGColorSpaceRelease(colorSpace);

CGContextSetGrayFillColor(context, 1.0, 1.0); //5

UIGraphicsPushContext(context); //6

[string drawInRect:CGRectMake(0, 0, size.width, size.height) withFont:font
lineBreakMode:UILineBreakModeWordWrap alignment:alignment];

UIGraphicsPopContext();

glGenTextures(1, &m_Name); //7
glGetIntegerv(GL_TEXTURE_BINDING_2D, &saveName);

glBindTexture(GL_TEXTURE_2D, m_Name);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);

glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, width, height, 0, //8
GL_LUMINANCE, GL_UNSIGNED_BYTE, data);

glBindTexture(GL_TEXTURE_2D, saveName); //9

m_Width=width;
m_Height=height;
m_MaxS=size.width/(float)width;
m_MaxT=size.height/(float)height;

CGContextRelease(context);
free(data);

return self;
}
Free download pdf