Ejemplo n.º 1
0
MaterialFactory::MaterialFactory() :
  m_materials()
{
  m_materials["basic_white"] = create_basic_white();
  m_materials["phong"] = create_phong(glm::vec3(0.5f, 0.5f, 0.5f),
                                      glm::vec3(1.0f, 1.0f, 1.0f),
                                      glm::vec3(1.0f, 1.0f, 1.0f),
                                      5.0f);

  m_materials["Rim"] = create_phong(glm::vec3(0.5f, 0.5f, 0.5f),
                                    glm::vec3(1.0f, 1.0f, 1.0f),
                                    glm::vec3(1.0f, 1.0f, 1.0f),
                                    1.0f);

  m_materials["Wheel"] = create_phong(glm::vec3(0.1f, 0.1f, 0.1f),
                                      glm::vec3(1.0f, 1.0f, 1.0f),
                                      glm::vec3(1.0f, 1.0f, 1.0f),
                                      8.0f);

  m_materials["Body"] = create_phong(glm::vec3(0.5f, 0.5f, 0.8f),
                                     glm::vec3(1.0f, 1.0f, 1.0f),
                                     glm::vec3(0.5f, 0.5f, 0.5f),
                                     2.5f);

  m_materials["skybox"] = create_skybox();
  m_materials["textured"] = create_textured();
  m_materials["video"] = create_video();
  m_materials["video3d"] = create_video3d(false);
  m_materials["video3d-flip"] = create_video3d(true);
}
Ejemplo n.º 2
0
static void
preinit_skybox (void)
{
  static int initialised = 0;
  kos_img_t txr;
  
  if (initialised)
    return;

  printf ("Loading sky box texture");
  fflush (stdout);
#if 0
  skytex[0] = pvr_mem_malloc (512 * 512 * 2);
  png_to_texture ("/rd/sky23.png", skytex[0], PNG_NO_ALPHA);
  putchar ('.');
  fflush (stdout);
  skytex[1] = pvr_mem_malloc (512 * 512 * 2);
  png_to_texture ("/rd/sky24.png", skytex[1], PNG_NO_ALPHA);
  putchar ('.');
  fflush (stdout);
  skytex[2] = pvr_mem_malloc (512 * 512 * 2);
  png_to_texture ("/rd/sky27.png", skytex[2], PNG_NO_ALPHA);
  putchar ('.');
  fflush (stdout);
  skytex[3] = pvr_mem_malloc (512 * 512 * 2);
  png_to_texture ("/rd/sky28.png", skytex[3], PNG_NO_ALPHA);
  putchar ('.');
  fflush (stdout);
  skytex[4] = pvr_mem_malloc (512 * 512 * 2);
  png_to_texture ("/rd/sky25.png", skytex[4], PNG_NO_ALPHA);
  putchar ('.');
  fflush (stdout);
  skytex[5] = pvr_mem_malloc (512 * 512 * 2);
  png_to_texture ("/rd/sky26.png", skytex[5], PNG_NO_ALPHA);
  putchar ('.');
#elif 0
  skytex[0] = pvr_mem_malloc (512 * 512 * 2);
  jpeg_to_texture ("/rd/sky23.jpg", skytex[0], 512, 1);
  putchar ('.');
  fflush (stdout);
  skytex[1] = pvr_mem_malloc (512 * 512 * 2);
  jpeg_to_texture ("/rd/sky24.jpg", skytex[1], 512, 1);
  putchar ('.');
  fflush (stdout);
  skytex[2] = pvr_mem_malloc (512 * 512 * 2);
  jpeg_to_texture ("/rd/sky27.jpg", skytex[2], 512, 1);
  putchar ('.');
  fflush (stdout);
  skytex[3] = pvr_mem_malloc (512 * 512 * 2);
  jpeg_to_texture ("/rd/sky28.jpg", skytex[3], 512, 1);
  putchar ('.');
  fflush (stdout);
  skytex[4] = pvr_mem_malloc (512 * 512 * 2);
  jpeg_to_texture ("/rd/sky25.jpg", skytex[4], 512, 1);
  putchar ('.');
  fflush (stdout);
  skytex[5] = pvr_mem_malloc (512 * 512 * 2);
  jpeg_to_texture ("/rd/sky26.jpg", skytex[5], 512, 1);
  putchar ('.');
#else
  kmg_to_img ("/rd/sky23.kmg", &txr);
  skytex[0] = pvr_mem_malloc (txr.byte_count);
  pvr_txr_load_kimg (&txr, skytex[0], PVR_TXRLOAD_SQ);
  kos_img_free (&txr, 0);
  
  kmg_to_img ("/rd/sky24.kmg", &txr);
  skytex[1] = pvr_mem_malloc (txr.byte_count);
  pvr_txr_load_kimg (&txr, skytex[1], PVR_TXRLOAD_SQ);
  kos_img_free (&txr, 0);
  
  kmg_to_img ("/rd/sky27.kmg", &txr);
  skytex[2] = pvr_mem_malloc (txr.byte_count);
  pvr_txr_load_kimg (&txr, skytex[2], PVR_TXRLOAD_SQ);
  kos_img_free (&txr, 0);
  
  kmg_to_img ("/rd/sky28.kmg", &txr);
  skytex[3] = pvr_mem_malloc (txr.byte_count);
  pvr_txr_load_kimg (&txr, skytex[3], PVR_TXRLOAD_SQ);
  kos_img_free (&txr, 0);
  
  kmg_to_img ("/rd/sky25.kmg", &txr);
  skytex[4] = pvr_mem_malloc (txr.byte_count);
  pvr_txr_load_kimg (&txr, skytex[4], PVR_TXRLOAD_SQ);
  kos_img_free (&txr, 0);
  
  kmg_to_img ("/rd/sky26.kmg", &txr);
  skytex[5] = pvr_mem_malloc (txr.byte_count);
  pvr_txr_load_kimg (&txr, skytex[5], PVR_TXRLOAD_SQ);
  kos_img_free (&txr, 0);
#endif
  putchar ('\n');

  skybox = create_skybox (200, skytex, 512, 512, PVR_TXRFMT_RGB565
			  | PVR_TXRFMT_TWIDDLED | PVR_TXRFMT_VQ_ENABLE);

  initialised = 1;
}