Witam ;)
Piszę sobie Live Wallpaper na Androida używając opengl es 2.0, wszystko jest fajnie, w podglądzie zmienia orientacje tak jak powinno. Ale kiedy Live Wallpaperpeta jest ustawiona jak tapeta na pulpicie, to po zmianie orientacji ucina mi połowę ekranu.
Zastanawiam się jak to w ogóle możliwe, że na podglądzie działa normlanie, a ustawiając jako tapetę, wcale nie mogę rysować po połowie ekranu, jeśli zmienię orientację, tak jakby okno opengl nie obejmowało całego pulpitu.
Przed zmianą orientacji:
Po zmianie:
Funkcja reagująca na zmianę orientacji:
@Override
public void onSurfaceChanged(GL10 unused, int width, int height) //przy zmianie surface (na orientacji ekranu)
{
tekstury.width=width;
tekstury.height=height;
if(width<height)
tekstury.orientation=0;//portair
else
tekstury.orientation=1;//landscape
float aspectratio=(float)(width) / (float) (height);
if(tekstury.width> tekstury.height)
matrixInv.perspectiveINV(aspectratio, 0.83f);
else
matrixInv.perspectiveINV(aspectratio, 1.3f);
}
Ale to chyba nieistotne, skoro NA PODGLĄDZIE DZIAŁĄ NORMALNIE :/
Wie ktoś o co tu może chodzić?