Fix scaling on mobile
All checks were successful
Build & deploy web version / Build WebAssembly & deploy (push) Successful in 1m0s
All checks were successful
Build & deploy web version / Build WebAssembly & deploy (push) Successful in 1m0s
This commit is contained in:
parent
c4f7565d18
commit
ba2d649de7
1 changed files with 55 additions and 5 deletions
|
|
@ -55,10 +55,18 @@ static void initRenderMap() {
|
|||
*
|
||||
*/
|
||||
static void calculateRowsAndColumns() {
|
||||
magnification = (float) screen -> w / 2 / sensorSize;
|
||||
columns = 2 * cameraPosition.z * sensorSize / focalLength;
|
||||
/* A szenzor hosszabb oldala mindig a képernyő hosszabb oldalára képződik le. Fekvő
|
||||
* képernyőn ez a szélesség, állón viszont a magasság: egy telefon képernyőjén a
|
||||
* szélességhez igazodva a pályának majdnem a kétszerese férne ki függőlegesen, amitől
|
||||
* a kockák aprók lennének, a játékos feje fölött pedig végtelen üres ég maradna.
|
||||
* Így viszont fekvőn és állón is ugyanakkorák a kockák, csak más alakú részt látunk. */
|
||||
float longerScreenSide = larger(screen -> w, screen -> h);
|
||||
magnification = longerScreenSide / 2 / sensorSize;
|
||||
|
||||
float longerSideInMeters = 2 * cameraPosition.z * sensorSize / focalLength;
|
||||
//hogy a négyzet négyzet is maradjon
|
||||
rows = (float)screen -> h / screen -> w * columns;
|
||||
columns = screen -> w / longerScreenSide * longerSideInMeters;
|
||||
rows = screen -> h / longerScreenSide * longerSideInMeters;
|
||||
|
||||
if(renderMap == NULL) initRenderMap();
|
||||
|
||||
|
|
@ -117,6 +125,11 @@ int getColumns() {
|
|||
return columns;
|
||||
}
|
||||
|
||||
///Visszaadja, hogy hány sor látszik a pályából.
|
||||
int getRows() {
|
||||
return rows;
|
||||
}
|
||||
|
||||
/** \brief A kamera dollyzását végzi, a kamerát mozgatja
|
||||
* A dolly állását staticban tárolja, ezért új dolly eseteén először egy restart = true-val kell meghívni,
|
||||
* \param ms eltelt idő
|
||||
|
|
|
|||
Loading…
Reference in a new issue