Forum » Programiranje » [c++, OpenGL] za koliko premakniti na levo da bo v celoti viden
[c++, OpenGL] za koliko premakniti na levo da bo v celoti viden
goranv ::
V OpenGL bi rad naredil menu ( sirine 1.0f in visine 4.0f ) in se bo nahajal levo zgoraj. Kako izracunati za koliko je treba ta menu premakniti v levo in gor, da bo se v celoti viden ( da nebi bil prevec levo ). To pozicijo lahko najdem rocno za npr. 800x600, ampak rad bi, da se ta pozicija menuja izracuna avtomatsko glede na resolucijo okna. Da ne bom za vsako resolucijo okna rocno iskal to pozicijo menuja.
pozicija kamera 0.0f, 0.0f, 0.0f
pozicija kamera 0.0f, 0.0f, 0.0f
Senitel ::
Hočeš "2D" ali "3D" menu? Če prvo, potem ti ni treba nič računat in uganjat neke hude znanosti. Preklopiš v ortografsko projekcijo in rišeš z 2D verteksi.
klik
klik
Senitel ::
Ok, še zmer nisem čisto ziher kaj hočeš. Če si v 3D in imaš kamero, potem ti tako ali tako ni treba preračunavat koordinat... Tako da malo matematike:
Object, view, projection matrike spravijo tvoje vertexe v clip space. Clip space je od -1 do 1 po X, Y in Z. Torej, če nastaviš matrike na identiteto in narišeš quad od (-1, 0), (0, 0), (0, 1) do (-1, 1) pokriješ levi zgornji kvadrant ekrana.
Če nastaviš ortho matriko, ti ta space raztegne na recimo 0,0 do 800, 600.
Če hočeš 3D menu, potem nastaviš projekcijsko matriko. Kamere ne rabiš.
Hope it helps.
Object, view, projection matrike spravijo tvoje vertexe v clip space. Clip space je od -1 do 1 po X, Y in Z. Torej, če nastaviš matrike na identiteto in narišeš quad od (-1, 0), (0, 0), (0, 1) do (-1, 1) pokriješ levi zgornji kvadrant ekrana.
Če nastaviš ortho matriko, ti ta space raztegne na recimo 0,0 do 800, 600.
Če hočeš 3D menu, potem nastaviš projekcijsko matriko. Kamere ne rabiš.
Hope it helps.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Matlab problemOddelek: Pomoč in nasveti | 1441 (865) | bluefish |
» | DirectX - težavicaOddelek: Programiranje | 1263 (996) | Senitel |
» | [c++]OpenGL izris kvadrataOddelek: Programiranje | 1271 (1131) | Mavrik |
» | OpenGL problemOddelek: Programiranje | 2485 (2051) | Gundolf |