Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Poky

Založen: 29. 06. 2009 Příspěvky: 184 Bydliště: Písek / Plzeň
|
Zaslal: 6. listopad 2011, 12:47:20 Předmět: Získání pozice kamery z modelview matice |
|
|
Ahoj, mám takový (možná pro vás triviální) dotaz:
Jak z ModelView matice (OpenGL) získám pozici kamery, popř. jestli to vůbec nějak jednoduše jde. Díky za odpovědi.
Naposledy upravil Poky dne 9. listopad 2011, 18:44:33, celkově upraveno 1 krát |
|
Návrat nahoru |
|
 |
michalferko
Založen: 29. 09. 2008 Příspěvky: 83
|
Zaslal: 6. listopad 2011, 13:10:31 Předmět: |
|
|
Invertuj ju a prenasob nou bod (0, 0, 0).
View matica transformuje objekty z world space do eye space (v ktorom je pozicia kamery (0, 0, 0)). Ked teda prenasobis bod (0, 0, 0, 1) inverznou maticou, dostanes poziciu kamery vo world space. Toto plati ak "Model" cast ModelView matice je identita, teda world space a object space su identicke. Pre sikovnejsiu pracu tuto maticu vzdy rozdelujem na dve - Model a View. Myslim, ze tak sa to robi aj v DirectX. _________________ Moje minihry a ine projekty |
|
Návrat nahoru |
|
 |
nou

Založen: 28. 07. 2007 Příspěvky: 1050
|
Zaslal: 6. listopad 2011, 13:15:44 Předmět: |
|
|
tak pozicia kamery je posledny stlpec/riadok podla toho ci pouzivas DX/OGL ale toto je len pozicia relativne k modelu. world poziciu ale zistis len z view matice. _________________ Najjednoduchšie chyby sa najtažšie hľadajú. |
|
Návrat nahoru |
|
 |
costa
Založen: 10. 10. 2011 Příspěvky: 29 Bydliště: u hranic s malým 'h'
|
Zaslal: 7. listopad 2011, 09:43:51 Předmět: |
|
|
Pokud bys znal matici modelu, tak by to mělo jít.. |
|
Návrat nahoru |
|
 |
Poky

Založen: 29. 06. 2009 Příspěvky: 184 Bydliště: Písek / Plzeň
|
Zaslal: 7. listopad 2011, 12:14:13 Předmět: |
|
|
Tak už jsem na to přišel a funguje to skvěle:
kód: |
Vector3(-(modl.m[0] * modl.m[12] + modl.m[1] * modl.m[13] + modl.m[2] * modl.m[14]),
-(modl.m[4] * modl.m[12] + modl.m[5] * modl.m[13] + modl.m[6] * modl.m[14]),
-(modl.m[8] * modl.m[12] + modl.m[9] * modl.m[13] + modl.m[10] * modl.m[14])) |
|
|
Návrat nahoru |
|
 |
|