Új hozzászólás Aktív témák
-
-
Vico87
tag
Szia!
Arra vigyázni kell, hogy az ablaknak az origója a bal felső sarokban van, míg az OpenGL a bal alsó sarkot használja origónak (ablakMagasság - egérY képlettel átalakíthatod). A gluUnProjectnek mindenképp meg kell adni Z-t, ugyanis az befolyásolja a végeredmény X és Y koordinátáit is. -
Vico87
tag
válasz
norbiphu #169 üzenetére
Hello!
Természetesen tudsz hozzá shadereket írni, függetlenül attól, hogyan adod meg a modellt a pipeline-nak.
A vertex buffert meg próbáld ki, ha gyorsabb, akkor nyertél a dolgon. Az előnye a vertex buffernek, hogy rugalmasabb, mint egy display list (lehet módosítani, amit display listtel nem lehet). Persze ha erre nincs szükséged, akkor mindegy.@Zorro1985 : a görbét ugyanúgy adod meg, mint bármelyik más Bezier-t. A görbe mentén animálni úgy tudsz, hogy a görbe futó paraméterét folyamatosan növeled az idő függvényében, a pillanatnyi érték alapján kiszámolod a görbe adott pontját, majd glTranslate-tel odarakod a kockádat.
szerk. : ha azt is szeretnéd, hogy a görbén mindig a haladási irányba nézzen a kocka, akkor deriválnod kell a görbét a paraméter függvényében, és a kapott irányba kell állítanod a kockát glRotate-tel.
-
Vico87
tag
Szia!
A megoldás nem túl bonyolult. Az elv, hogy a forgó objektumot először az origó körüli körívre transzformálod, majd hozzáadod a szülőobjektum (amelyik körül forog) transzformációját.
OpenGL-ben ez így néz ki :
// szülő transzformáció
// szülő kirajzolás
glPushMatrix();
// körívre transzformáció
// forgó objektum kirajzolás
glPopMatrix(); -
Vico87
tag
válasz
concret_hp #160 üzenetére
Attól függ, hogy mi számít egyszerűnek.
Részecskerendszerrel szokás ilyeneket csinálni, azaz részben átlátszó textúrázott quadból rajzolj sokat relatíve közel, és valamilyen randommal támogatott mozgást adj nekik (mindegyiknek picit mást). Sok múlik a rajtuk lévő textúrán. Az "éles" játékokban is így csinálják, csak nekik vannak művész szakembereik, akik megcsinálják olyanra a textúrákat (nomeg a mozgást), hogy jól nézzen ki. A quadok pedig a kamera felé néznek, de ha kellően sok van belőlük, akkor kihagyhatod a kamera felé nézést.
Ha egységes, homogén ködöt szeretnél, akkor az pedig pixel shaderből megoldható. A dolog nyitja, hogy a távolság függvényében "fehéredik" a látott tárgy, azaz kevésbé látszik a tárgy színe, és egyre jobban köd-színű. Ezt vagy hozzáírod a tárgyak shaderéhez, vagy poszt-processzben csinálod ilyenné a textúrába rajzolt színteret.
-
Vico87
tag
válasz
concret_hp #158 üzenetére
Nekem most hirtelen a NeHe tutorialok jutottak eszembe : [link]
Egyébként a sünisben az alap OpenGL 1.0/1.1 szerintem jól le van írva (és annál több nem kell a tárgyhoz).
-
Vico87
tag
válasz
#91574272 #155 üzenetére
BME-n a "Számítógépes grafika és képfeldolgozás" című tárgy kötelező alapképzésen, 2D és 3D grafika elmélet hangzik el, algoritmusokkal (mint pl vágás algoritmusai, textúra lookup algoritmusa, stb...), OpenGL-lel, sugárkövetés elmélete, globális illumináció elmélete, minden témakörhöz pszeudokód is van a diákon. Jelenleg úgy van, hogy 4 kisházi van (mint pl tesszeláló program írása, sugárkövető írása, egyszerű játék írása, stb... ), amelyekből aláíráshoz 2 kell.
3ds max tárgy is van, de az szabadon választható, ott lényegében a fontosabb és gyakrabban használt funkciókon mennek át, egész jó tudást lehet szerezni, alapnak tökéletes, de gyakorlat teszi a mestert, mint tudjuk.
Úgy tudom, hogy ELTE-n is van grafika, meg talán Debrecenen, illetve Miskolcon.ui : ha megnézed a "3d grafika elmélet" témában a hsz-eimet, ott van egy kép a sugárkövetőm eredményéről.
-
Vico87
tag
Hello!
Természetesen lehetséges (a profi játékok is így készülnek, a művészek megcsinálják a modelleket, textúrákat, stb-ket, majd azokat jeleníti meg a játék).
Először választanod kell egy fájlformátumot, amibe a Blender exportálja a modellt, majd a programod ezt beolvassa, ezzel kinyeri belőle a geometriára vonatkozó adatokat, ezt pedig már meg tudod jeleníteni glBegin(...) / glEnd() vagy Vertexbuffer Object segítségével. -
Vico87
tag
Azért gondolom, hogy ez a módszer nem jó, mert lényegében egy csak client area-vel rendelkező ablakot hozok létre, amely pont akkora, mint a desktop. Tegyük fel, hogy felbontást szeretnék állítgatni a progin belül, akkor azt ebben az esetben csak úgy lehetne megoldani, hogy az egész windows felbontását lecseréltetem. Ennél biztosan van szebb megoldás (mellesleg csak ezt találtam guglival, MSDN-en pedig kussolnak a dologról, egy fórumon azt mondják erre a módszerre, hogy "fake fullscreen").
-
Vico87
tag
Bár ez a kérdés nem szorosan OpenGL-hez tartozik, de jobb topic nincs hozzá (van két ilyen témájú is, kevesebb, mint 10 hszszel, amelyek több évesek
). Azt szeretném elérni Win32 API segítségével, hogy létrehozzak egy fullscreen ablakot, amibe majd OpenGL-lel fogok rajzolni. Csak egy gond van : nem tudom hogyan kell csinálni
. Alap Windowsos ablakot tudok csinálni (és át is tudom adni az OpenGL-nek), böngésztem a netet, de a legközelebbi megoldás, amit találtam fullscreenre, több mint gányolás (abban áll, hogy csináljunk egy WS_POPUP stílusú ablakot, amely pont a képernyő méreteivel megegyezik, így lefedi azt).
Tudna valaki ebben segíteni ?
Előre is köszönöm a segítséget. -
Vico87
tag
Hello!
Ha azon a procin, ami a profilodban akkor valamelyik metszéspont-számító függvényed lassú. Nekem nincs 10mp kiszámoltatni 1diffúz, 1Phong-Blinn, 1Phong-Blinn+tükröző síkok + a tükröző, törő, spekuláris gömb jelenetet, 5-ös rekurziós mélységgel egy Athlon XP 1600+ procin.
Ellenben még vannak gyermekbetegségei a dolognak, amelyeket ki kell javítanom hétfőig. -
Vico87
tag
Köszi szépen, ez megoldotta.
Amirõl fentebb beszéltem, hogy amikor DirectX SDK-t raksz fel, akkor csak meg kell adni a lib és h fájlok mappáit a Tools / Options / Projects and Solutions / VC++ Directories-ban. Ez alapján arra gondoltam hogy hasonlóan kell eljárni OpenGL esetén is, azonban annak a h és lib fájlai már bent vannak a megfelelõ helyen.
-
Vico87
tag
A libek már elvileg automatikusan bekerülnek a VC++ beállítások közé telepítéskor, de ellenõriztem, és bent vannak. Ennek ellenére nem tud linkelni.
Ha ez segít, akkor elmondom, hogy a WM_CREATE üzenetnél állítom be a wiggle függvényekkel az OpenGL-nek a Device Context-et, a WM_DESTROY-nál delete-elem szintén wiggle hívásokkal. Jelenleg még nem raktam semmilyen rajzolási kódot, de attól még mennie kéne, hiszen inicializálom és kilépéskor meg eltűntetem.
Szerk.: jut eszembe, lib és h fájlok a helyükön, ellenõriztem, GLUT nincs fent, de nincs is GLUT hívás, csak OpenGL és wiggle.
-
Vico87
tag
Hello!
Most ismerkedem az OpenGL programozással, és támadt egy kis váratlan gondom (egy szimpla HelloOpenGL program megírásakor). Nevezetesen az, hogy a wgl kezdetű függvényekre a linker egy "unresolved external symbol" hibát ad, pedig szépen include-oltam a gl.h és glu.h fejléceket. Egyébként MS VC++ 2005-ben csinálom, és furcsa módon van ezekhez a függvényekhez IntelliSense támogatás.
Van valakinek valami ötlete, hogy miért fordul ez elõ?Elõre is köszönöm a segítséget.
Új hozzászólás Aktív témák
Hirdetés
- Autós topik
- DOOM - The Dark Ages
- erkxt: A Roidmi becsődölt – és senki nem szól egy szót sem?
- Elemlámpa, zseblámpa
- Házimozi haladó szinten
- Luck Dragon: Asszociációs játék. :)
- Kertészet, mezőgazdaság topik
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Formula-1
- Flip (IPTV, otthoni internet, vezetékes telefon)
- További aktív témák...
- Asus Zenbook flip13 2in1 touch screen
- Dell Latitude 5450 Intel Core Ultra 5 135U 4nm 32GB DDR5 érintőképernyős laptop Dell gari 2027.09.hó
- PlayStation 4/5 kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- PlayStation 5/4 kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- XBOX ONE/Series kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- AKCIÓ! MSI B365M i5 8600 16GB DDR4 512GB SSD RX 5700XT 8GB CM MASTERBOX Q300L Zalman 600W
- A Panasonic Toughbook CF-54 i5-5300u i5-6300u TN, IPS touch Budapest, MPL Foxpost
- Eladó szép állapotban levő Huawei P30 Pro kék 6/128GB 12 hónap jótállással!
- Samsung Galaxy S23PLUS 256GB Kártyafüggetlen 1Év Garanciával
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged