連絡が遅くなってしまいすみません。
インポートしたところエラーが消えました。
ありがとうございます。
フォントの読み込みは出来てそうなのですが
ここから文字列をテクスチャにすることがどうしても出来ません・・・。
OpenGLのサイトをみては見たのですが
エラーがとれません・・・。
以下が現在のソースです。
m_p_font_textureを用意した構造体で宣言する必要があると思うのですが宣言するとエラーが増えてしまいます。
またFONT_TEXTURE_MIPMAP_SIZE
やtext等の値が不明なオブジェクトが出て来てしまいました。
これは自分で定数を入れろということなのでしょうか?
質問ばかりで申し訳ないです。
// Init部分 一回のみ読み込み
FontLabel *label = [[FontLabel alloc] initWithFrame:CGRectMake(10, 10, 0, 0) fontName:@"Abduction" pointSize:40.0f];
label.textColor = [UIColor magentaColo[/url];
label.text = @"lorem ipsum";
[label sizeToFit];
label.backgroundColor = nil;
label.opaque = NO;
// 以下ループで描画処理
// NSString *text = [[NSString alloc] init];
// struct FontTextureMipmap m_p_font_texture;
//テクスチャサイズを定義する
// int s=FONT_TEXTURE_MIPMAP_SIZE;
// m_p_font_texture->texture.width=s;
// m_p_font_texture->texture.height=s;
// テクスチャを作成する
// glGenTextures(1, &(m_p_font_texture->texture.id));
// テクスチャをバインドする
// glBindTexture(GL_TEXTURE_2D, m_p_font_texture->texture.id);
// テクスチャの設定を行う
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glEnable(GL_TEXTURE_2D);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
//テクスチャのRGBAデータの配列を確保する
// m_p_font_texture->data = (GLubyte *)malloc(m_p_font_texture->texture.width * m_p_font_texture->texture.height * 4);
//テクスチャデータをVRAM上に転送し領域を確保する
// glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, m_p_font_texture->texture.width,m_p_font_texture->texture.height,0, GL_BGRA, GL_UNSIGNED_BYTE, m_p_font_texture->data);
//文字描画用のコンテキストを作成する
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
// m_p_font_texture->_context = CGBitmapContextCreate(m_p_font_texture->data, m_p_font_texture->texture.width, m_p_font_texture->texture.height, 8, m_p_font_texture->texture.width * 4, colorSpace, kCGImageAlphaPremultipliedLast);
//フォントを確保する
m_font = [UIFont systemFontOfSize:14];
//実際の描画サイズを取得
// CGSize size=[text sizeWithFont:m_font constrainedToSize:CGSizeMake(sx,512) lineBreakMode:UILineBreakModeWordWrap];
// m_p_font_texture->texture.original_width=size.width;
// m_p_font_texture->texture.original_height=size.height;
//文字画像は上下反転しているので描画時にUV反転する
//また、クリッピングエリアも反転するので注意
// 文字を描画する
memset(m_p_font_texture->data,0,m_p_font_texture->texture.width*m_p_font_texture->texture.height*4);
UIGraphicsPushContext(m_p_font_texture->_context);
// UIColor *color=[UIColor colorWithRed:r/255.0f green:g/255.0f blue: b/255.0f alpha:1.0f];
// [color set];
// [text drawInRect:CGRectMake(0,m_p_font_texture->texture.height-m_p_font_texture->texture.original_height,sx,m_p_font_texture->texture.original_height) withFont:m_font lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentLeft];
UIGraphicsPopContext();
// テクスチャをバインドする
// glBindTexture(GL_TEXTURE_2D, m_p_font_texture->texture.id);
// テクスチャを更新する
// glTexSubImage2D(GL_TEXTURE_2D, 0, 0,m_p_font_texture->texture.height-m_p_font_texture->texture.original_height, m_p_font_texture->texture.width,m_p_font_texture->texture.original_height, GL_RGBA, GL_UNSIGNED_BYTE, m_p_font_texture->data);
}