Пример #1
0
GLuint SkyBox::addTexture(std::string path, SkyBoxFace face)
{
	/* load image from file */
	bitmap_image image = bitmap_image(path);
	image.rgb_to_bgr();
	/* bind and create texture */
	glBindTexture(GL_TEXTURE_2D, textures_[face]);
	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, image.width(), image.height(), 0, GL_RGB, GL_UNSIGNED_BYTE, image.data());
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
	/* clean up */
	glBindTexture(GL_TEXTURE_2D, 0);

	return textures_[face];
}
Пример #2
0
int main(int argc, char** argv) {
  char* begin = argv[1];
  int width = bitmap_image(begin).width();

  bitmap_image result(width, width);

  int gh = 0;
  for(int i = 1; i < argc; ++i) {
    bitmap_image img(argv[i]);
    int height = img.height();
    for(int k = 0; k < height; ++k) {
      for(int  j = 0; j < width; ++j) {
        unsigned char c[3];
        img.get_pixel(j, k, c[0], c[1], c[2]);
        result.set_pixel(j, gh, c[0], c[1], c[2]);
      }
      gh++;
    }
  }

  result.save_image("result.bmp");
  return 0;
}