Code: Select all
- (void)uzkraunamImg
{
using namespace Magick;
input_image = strdup([[[NSBundle mainBundle] pathForResource:@"Brush" ofType:@"png"] UTF8String]);
image.read(input_image);
image.magick("RGBA");
image.write(&blob);
input_imageN = strdup([[[NSBundle mainBundle] pathForResource:@"grass" ofType:@"jpg"] UTF8String]);
imageN.read(input_imageN);
imageN.magick("RGBA");
imageN.write(&blobN);
imageG.read(input_imageN);
imageG.channel(GreenChannel);
imageG.magick("RGBA");
imageG.write(&blobG);
[self createTextures];
}
-(void)createTextures {
glGenTextures(1, &brushtxt);
glBindTexture(GL_TEXTURE_2D, brushtxt);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE);
glGenerateMipmap(GL_TEXTURE_2D);
glGenTextures(1, &orgtxt);
glBindTexture(GL_TEXTURE_2D, orgtxt);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE);
glGenerateMipmap(GL_TEXTURE_2D);
glGenTextures(1, &graytxt);
glBindTexture(GL_TEXTURE_2D, graytxt);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE);
glGenerateMipmap(GL_TEXTURE_2D);
[self SetTextureImages];
}
- (void)SetTextureImages
{
glBindTexture(GL_TEXTURE_2D, brushtxt);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, image.columns(), image.rows(), 0, GL_RGBA, GL_UNSIGNED_BYTE, blob.data());
glBindTexture(GL_TEXTURE_2D, orgtxt);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, imageN.columns(), imageN.rows(), 0, GL_RGBA, GL_UNSIGNED_BYTE, blobN.data());
glBindTexture(GL_TEXTURE_2D, graytxt);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, imageG.columns(), imageG.rows(), 0, GL_RGBA, GL_UNSIGNED_BYTE, blobG.data());
}