static signed LoadCubeFace(int face, const char *path) { SDL_Surface *image = IMG_Load(path); if (!image) { SDL_perror("IMG_Load"); return -1; } signed error = LoadCubeMap(image, face, GL_RGB); SDL_FreeSurface(image); return error; }
/*! * * @param filename */ void MaterialManager::AddCubeMap(std::string filename) { std::string file = filename + ".tga"; LoadCubeMap(file); }
//-------------------------------------------------------------------------------------- // Name: Initialize() // Desc: //-------------------------------------------------------------------------------------- BOOL CSample22::Initialize(CFrmFontGLES &m_Font, CFrmTexture* m_pLogoTexture) { m_ShouldRotate = TRUE; // Load the packed resources CFrmPackedResourceGLES resource; if( FALSE == resource.LoadFromFile( "Demos/AdrenoShaders/Textures/22_Textures.pak" ) ) return FALSE; // Load the cube map for reflections if (!LoadCubeMap("00_Cubemap")) return FALSE; // Setup the user interface if( FALSE == m_UserInterface.Initialize( &m_Font, m_strName ) ) return FALSE; m_UserInterface.AddOverlay( m_pLogoTexture->m_hTextureHandle, -5, -5, m_pLogoTexture->m_nWidth, m_pLogoTexture->m_nHeight ); m_UserInterface.AddTextString( (char *)"Press \200 for Help", 1.0f, -1.0f ); m_UserInterface.AddBoolVariable( &m_ShouldRotate, (char *)"Should Rotate" ); m_UserInterface.AddFloatVariable( &m_Object.IrisGlow, (char *)"Iris light" ); m_UserInterface.AddHelpKey( FRM_FONT_KEY_STAR, (char *)"Toggle Orientation" ); m_UserInterface.AddHelpKey( FRM_FONT_KEY_0, (char *)"Toggle Info Pane" ); m_UserInterface.AddHelpKey( FRM_FONT_KEY_4, (char *)"Change eye color -" ); m_UserInterface.AddHelpKey( FRM_FONT_KEY_5, (char *)"Change eye color +" ); m_UserInterface.AddHelpKey( FRM_FONT_KEY_6, (char *)"Decrease iris light" ); m_UserInterface.AddHelpKey( FRM_FONT_KEY_7, (char *)"Increase iris light" ); m_UserInterface.AddHelpKey( FRM_FONT_KEY_8, (char *)"Toggle Rotation" ); // Load the mesh if( FALSE == m_Mesh.Load( "Demos/AdrenoShaders/Meshes/Sphere3.mesh" ) ) return FALSE; m_CameraPos = FRMVECTOR3( 0.0f, 0.0f, 44.0f ); float Split = 1.1f; float yAdjust = -0.05f; ModelScale = 0.7f; if( FALSE == m_Mesh.MakeDrawable( &resource ) ) return FALSE; // Initialize the shaders if( FALSE == InitShaders() ) { return FALSE; } m_AmbientLight = FRMVECTOR4( 0.0f, 0.1f, 0.16f, 0.0f ); // Set up the objects m_Object.DiffuseTexture[0] = resource.GetTexture( "Eye1" ); m_Object.DiffuseTexture[1] = resource.GetTexture( "Eye2" ); m_Object.DiffuseTexture[2] = resource.GetTexture( "Eye3" ); m_Object.BumpTexture = resource.GetTexture( "EyeBump1" ); m_Object.Drawable = &m_Mesh; m_Object.Position.y += yAdjust; m_Object.SpecularColor = FRMVECTOR4( 1.0f, 1.0f, 1.0f, 65.0f ); m_Object.ReflectionStrength = 0.3f; m_Object.IrisGlow = 3.0f; // m_Object.RotateTime = 6.7466364f; // m_ShouldRotate = FALSE; return TRUE; }