- Szívós, szép és kitartó az új OnePlus óra
- A sógorokhoz érkezik a kompakt Vivo X200 FE
- Milyen okostelefont vegyek?
- iPhone topik
- Csak semmi szimmetria: flegma dizájnnal készül a Nothing Phone (3)
- Bemutatkozott a Poco X7 és X7 Pro
- Samsung Galaxy Z Flip5 - ami kint, az van bent
- Azonnali navigációs kérdések órája
- Magisk
- Samsung Galaxy Watch7 - kötelező kör
Aktív témák
-
BaLinux
tag
Javaslom ismét a #48-as hozzászólásomat.
Tehát: ne használj indexelt típusokat, illetve ha mégis, akkor a lib be fogja tölteni neked szépen és RGBA-ba konvertálva kapod meg. Nem kell fáradni vele. Az opengl csak RGB(A)-szerű formátumokban fogad képadatot, meg néhány tömörített cucc amibe nem mentem bele. -
BaLinux
tag
Angol: értem. Szerintem maximálisan megéri, hogy maximálisan rágyúrjál egy az angol középfokra (legalább!), mert ez tart vissza az igazi fejlődésben. Én is sokáig középszint alatt valamennyivel voltam, mert a gimnáziumban nem igazán lehetett fejlődni, magamtól meg lusta voltam. Ha van lehetőséged/pénzed, szánd rá magad egy angoltanfolyamra, és nem fogod megbánni!
-
BaLinux
tag
Helyes. Javaslom, hogy inkább használj valami kész image libraryt, ahelyett hogy szenvedsz itt mindenféle formátummal. Van olyan LGPL-es lib, ami png, jpg, és még kb 10 formátumot tud betölteni, elmenteni, és számításokat végezni képeken.
Pl. libSDL_image, és ráadásul sokkal több mindent tud, illetve crossplatform, ha c++, c-ben írod. -
BaLinux
tag
Hát elég összetett az opengl állapotgépe. Minden glEnable/glDisable-hető dolgot nézzél át, textúrát jól töltöd-e be, esetleg tesztként húzd rá egy téglalapra, és nézd meg hogy jó-e.
Úgy látom az u, v koordináták valóban megfelelő [0;1] intervallumból vannak, akkor nyilván ne oszd le.
A textúrakoordináták lényege éppen az, hogy egy ponthoz hozzárendel egy pontot a textúrán. Ezt úgy kell elképzelni, mintha a textúra egy végtelenül nyúlékony és vékony anyag lenne, amit szögekkel rögzítesz a vertexeknél. Lineárisan nyúlik és megfelelően torzulva kitölti a közrefogott poligonok felületét. -
BaLinux
tag
Igen, a normálvektor csak a fényekhez kell.
Interpolálás helyett mondhatnék átlagot is. Két vektor átlaga ugyanúgy (v1+v2)/2. Azt javaslom, képezd magad kicsit linalgból, aztán ha jól emlékszem az opengl támogat olyat, hogy vertexenként vehetsz fel normálvektort, nem csak poligononként. Az adott vertex normálvektorát úgy értelmezd, mint a szomszédos poligonok normálvektorának átlagát. Egy 3szögre normálvektort számolni nagyon könnyű, de most nem tudom fejből, keresd meg. -
BaLinux
tag
Szerintem nem úgy néz ki furcsán, mintha nem lenne megvilágítva, mert most egységes világítást kap úgymond, tehát lighting off, ugye? Ha off, akkor textúra koordináta gondok vannak, félrecsúszott a rucija
Ha on, akkor próbáld ki előbb kikapcsolt lightinggal.
Meg vigyázz, mert az u és v koordinátát le kell osztanod x és y textúra mérettel, hogy megkapjad a 0-1 közé eső float koordinátát. Ezután a glTexCoord2f -et használj, mindig a glVertex3f hívás előtt. Ha ez nem javítja, akkor is itt a hiba valahol. Nem kell ahhoz megvilágítás, hogy aránylag normálisan nézzen ki a cucc.
A normálvektorokat meg azzal kell, ja. Azok is előre vannak gyártva, igaz nem tudom miért... helyben is kiszámolhatnád, és ha a szomszédos vertexekre szépen interpolálod a normálvektort, akkor elég sima felületet kapsz világítással ahhoz képest, hogy milyen kocka szegény modell. -
BaLinux
tag
A GL_TEXTURE_MIN_FILTER és GL_TEXTURE_MAG_FILTER a messziről nézett, tehát kicsinyített illetve közelről nézett, tehát nagyított textúra interpolációs mószerét állítja be. Mindkettőt állítsd be, mert úgy lesz jó. Mindkettőre minimum bilinear ajánlott, trilinear (azaz mipmap) még jobb, de akkor mipmapeket is generálni kell a textúrához, ami szintén automatikus. Lásd tutorialok.
A GL_TEXTURE_WRAP_S, *T pedig azt állítja, hogy 1-nél nagyobb (float esetén) tex koordinátánál wrappelje-e a textúrát vagy ne, ill hogyan. (tehát ismétlődjön-e)
Nem arról van szó, hogy érdemes-e használni, hanem használd ami kell -
BaLinux
tag
Sajnos nem tudok magyar nyelvű részletes 3d trafós leírást... én annak idején mindent netről tanultam.
A milkshape text formátum is jó, de eredetileg a binárisra gondoltam, mind1.
A drótváz megjelenítés: glPolygonMode(GL_FRONT_AND_BACK, GL_LINE)
illetve nézd meg a többi paraméterét is. -
BaLinux
tag
Jó ez az oldal, szerintem próbáld ki azt a progit amit a ''Reading a MD2 file'' és a ''Rendering the model'' címszó alatt ír, és értsd meg, kezdetnek jó. Amúgy nem teljesen komplett, ha jól látom (nincs benne texture loader pl), de nem baj. Aztán rá lehet térni az interpolációra.
Az opengl commandos rész csak azért van, hogy hatékonyabban lehessen opengl-lel rajzolni a modellt. Amíg az elsőt nem érted meg, ne is foglalkozz vele.
Az adatok bőven elégségesek a modell kirajzolásához, amúgy a Quake2-ben sem ment volna nekik. -
BaLinux
tag
Pl a már említett oldalon van egy tutorial ami pont ezzel foglalkozik:
Bővebben: link
Illetve van egy loader amit régebben átírtam, az eredetit viszont nem találom. Jobban jársz, ha megérted a tutorialból, és nem csak használod.
[Szerkesztve] -
BaLinux
tag
A milkshape saját formátuma is nagyon egyszerű, ahhoz tényleg vannak loaderek, használtam is olyat. Animálni is tud szvsz, de lehet hogy azt neked kell megírnod a loaderhez. Először viszont inkább próbálkozz egy kockával vagy ilyesmi, az egyszerűbb... ;)
A csontváz jöhet később -
BaLinux
tag
Az x', y', z' jelölésű változók majdnem megegyeznek a belinkelt oldalon leírt (11)-es összefüggés által adottal, helyesebben ezek a -d-szeresük. Ezesetben nem a z=-1, hanem a z=d síkba vetítesz (mint egy fotólemezre). A különbség annyi lehet, hogy fordított és zoomolt képet kapsz, vagy ilyesmi. Az általad írt képlet jobbsodrású koordinátarendszert használ? Gondolom.
Ráadásnak még a mátrixok és vektorok is transzponáltak... tehát a könyvedben a sitehoz képest minden transzponált, de ez ne zavarjon, mert
ha M mátrix és P oszlopvektor, akkor
M * P = (P') * (M')
ahol az A' az A transzpontáltját jelöli.
A jobboldali irásmód a könyvedé, a baloldali a honlapé. -
BaLinux
tag
Ismered ezt az oldalt? (NeHe Productions)
Bővebben: link
Innen kiindulva biztosan megtalálsz mindent.
Még 1 praktikus fórum link:
Bővebben: link
[Szerkesztve] -
BaLinux
tag
Azért szokás 4x4-es mátrixot használni minden trafóhoz, hogy az eltolás is ábrázolható legyen, legalábbis eddig ezzel a meggyőződéssel éltem. mod: ha jól értem, akkor nem affin trafókat is tudnak így csinálni, és a perspektivikus trafó tényleg ilyen.
A perspektivikus vetítésnek van 3 fontos paramétere:
- közeli vágási felület távolsága (ennél közelebbi cuccokat nem látsz)
- messzi vágási felület távolsága (ennél messzebbi cuccokat nem látsz)
- látószög
Ha beadsz neki egy (x,y,z) pontot, akkor vissza fogsz kapni egy (x',y',z') pontot, melynek (x',y') része a 2ds vetítési síkod koordinátái lesznek (de vigyázni kell, mert még nem képernyő koordináták, hanem ha jól értettem [-1;1] intervallumban), a z' pedig egy speciális módszerrel kapott (nem nyálaztam át teljesen), z-bufferben felhasználható érték. Ami garantált, hogy ha P1 pont P2 mögött van, akkor z'(P1)>z'(P2). Ezt nemlineáris függvényekkel oldja meg ha jól láttam. De jól át kéne olvasnom, mert ''kézzel'' nem csináltam még ilyet.
[Szerkesztve] -
BaLinux
tag
Tudom mit akarsz, ezt úgy hívja az opengl, hogy ''projection matrix''
Mingyá kikeresek neked egy megfelelő paraméteres mátrixot, úgy hívják a látóteret amúgy angolul, hogy frustum (ami egy torz csonka gúla gyakorlatilag).
mod: Meg is van egy jó link: Bővebben: link
[Szerkesztve]
Aktív témák
Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Formula-1
- AliExpress tapasztalatok
- Azonnali informatikai kérdések órája
- One otthoni szolgáltatások (TV, internet, telefon)
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- 24 Hours of Le Mans
- Autós topik látogatók beszélgetős, offolós topikja
- Házimozi belépő szinten
- 3D nyomtatás
- További aktív témák...
- Gamer PC - i3 12100f, RTX 3070 és 16gb DDR5 + GARANCIA
- Lenovo ThinkPad T14 Gen 5 Ultra-I7/64GB/512SSD/Érintőképernyő/garancia
- Lenovo ThinkPad T14 G3 I5-1245U/32GB/1TBSSD/Érintőképernyő/Garanciás.
- Dell Precision Munkaállomás 7750 17.3" i7-10850H/32GBRAM/1TBSSD/RTX3000/WIN11PRO
- EREDETI Apple Watch ULTRA óraszíjak (BLACK TITANIUM) - 49mm
- Beszámítás! Apple Mac mini 2020 M1 8GB 256GB SSD számítógép garanciával, hibátlan működéssel
- BESZÁMÍTÁS! ASUS B450 R7 1700X 16GB DDR4 512GB SSD RX 580 8GB Rampage SHIVA Corsair 450W
- Laptop felvásárlás , egy darab, több darab, új , használt ! Korrekt áron !
- Telefon felvásárlás!! Samsung Galaxy S24/Samsung Galaxy S24+/Samsung Galaxy S24 Ultra
- Bomba ár! Dell Latitude 7320 - i5-11GEN I 8GB I 256SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged