Új hozzászólás Aktív témák
-
Frakk
tag
Ha jól értelmeztem QuarK kódját, akkor az erre is jó, egyszerűen csak nem rajzolod ki először zölden a kockát ( tehát csak az kell, ami a ''majd'' után van ). Viszont ha azt akarod, hogy a hátul lévő piros körök is látszódjanak ( akkor lesz hat db ), akkor a hátsólap eldobást ki kell kapcsolnod ( glDisable( GL_CULL_FACE); ).
-
Frakk
tag
válasz
timoti2002 #37 üzenetére
Ha tudsz rajzolni OpenGL-ben, akkor ez a feladat OpenGL-től gyakorlatilag független, és azt kell csinálnod, amit toma írt neked. OpenGL-ben csak rajzoló függvények vannak, minden mást neked kell megprogramozni.
-
Frakk
tag
Várjálcsak, lehet amúgy hogy a textúra méretével van a baj. Annak ugyanis ha mindenigaz szélességnek és magasságnak meg kell egyeznie, méghozzá úgy, hogy kettő hatvány legyen. Pl: 1024*1024, 512*512, 256*256, és így tovább.
szerk: bár én továbbra is azt tanácsolom, hogy ne használj mipmapingot, inkább válassz mindig a távolságnak megfelelő méretű textúrát, és kapcsold be az anizot.
[Szerkesztve] -
Frakk
tag
Hát ez az én személyes véleményem a mipmapingról. Ugyanis azt teszi, hogy ha egy pixeled alatt több texel is van, akkor ott kisebb felbontású textúrát használ. Ennek az az eredménye, hogy ha lapos szögben nézel rá, akkor a távolsághoz képest nagyon kicsi textúrát választ, ezért lesz minden olyan elmosódott. Az anizotróp szűrés ugyanazt a problémát oldja meg mint a mipmaping, csak az normálisan. Ott az egy pixel alatt lévő texelek színét átlagolja. Ennek a hátránya a mipmapinghoz képest, hogy lassítja a renderelést (persze ez függ attól, hogy hányszoros, és hogy milyen vidkarid van), és ha a taxtúra túl messze van, vagy túl laposszögben nézel rá, akkor túl sok texel van egy pixel mögött, és nem tudja mindet átlagolni, tehát a látvány kb olyasmi lesz mint szűrés nélkül. Én ezt a saját progimban úgy oldottam meg, hogy egyszerűen távolságtól függően lecserélem a textúrákat mindig egyre kisebbre, tulajdonképpen ugyanúgy mint a mipmaping, azzal a különbséggel, hogy ott nem a távolság számít, hanem az hogy egy pixel mögött hány texel van (a mipmaping úgy választja ki a textúra méretét, hogy csak egy legyen).
-
Frakk
tag
Bocs hogy csak most írok, de teljesen kiment a fejemből ez a topic. Ha nem mipmapos texturát, hanem simát használsz, akkor normális a kép?
Addig még nézegetem, hátha rájövök mi lehet a hiba. Én már csináltam mipmapot, és működött is, mondjuk szvsz csúnya ha lapos szögben nézünk rá, szal azon kívül hogy kipróbáltam, nem használom sehol. -
Frakk
tag
Uhm. Akkor majd utánnanézek, kösz. De most asszem inkább belenyugodtam a per-vertex radial fogba, csak tegnapelőtt egy kissé belejöttem az OpenGL programozásba, és nem akartam megelégedni
. De most, hogy így belegondolok, arra, amire nekem kell, talán még jobb is hogy vertexenként csinálja, gondolom úgy gyorsabb, és ha végülis nincsenek túl nagy polygonok, akkor ugyanolyan jó képet ad.
[Szerkesztve] -
Frakk
tag
Ja, hát radial fog, csak az a baj, hogy nem pixelenként végzi a ködösítést, hanem vertexenként, így pl ha egy bazi nagy négyszög közepén áll az ember, aminek a sarkai ködben vannak, akkor az egész négyszög úgy fog kinézni mintha ködben lenne, még akkor is, ha a közepének nem kéne olyannak lennie. De mindegy már inkább megoldom úgy a problémát, hogy nem csinálok bazi nagy négyszögeket
és akkor jó.
Pixelshaderhez meg nem értek.
Azér kösz a segítséget. -
Frakk
tag
Helló!
Úgy láttam nincs ilyen téma, úgyhogy nyitottam egy topicot.
Az a gondom, hogy OpenGLben ködöt szeretnék csinálni. Illetve az már sikerült is, csak nem úgy ahogy szeretném:
GLfloat fogColor[4]= {0.50, 0.50, 0.80, 1}; // Fog Color
glFogi(GL_FOG_MODE, GL_LINEAR); // Fog Mode
glFogfv(GL_FOG_COLOR, fogColor); // Set Fog Color
glFogf(GL_FOG_DENSITY, 0.5); // How Dense Will The Fog Be
glHint(GL_FOG_HINT, GL_NICEST); // Fog Hint Value
glFogf(GL_FOG_START, 0); // Fog Start Depth
glFogf(GL_FOG_END, 5); // Fog End Depth
glEnable(GL_FOG);
Ezzel a kóddal ugyan lesz köd, de nem a pixelek távolsága, hanem a z koordinátájuk szerint számít, ami ugye nem valóságos eredményt ad, és ez (főleg szélesebb látószögeknél) elég idegesítő. Na én megpróbáltam utánnanézni googlen es azt találtam, hogy ha ezt a sort beírom a kód elé:
glFogi(0x855A, 0x855B);
akkor távolság szerint fogja számítani. Úgy is lett, csakhogy így meg most nem minden pixelre végzi el a műveletet, hanem csak vertexekre, ezér a túl nagy polygonokra nem használható. Nem tudja vki, hogy lehet megcsinálni, hogy pixelenként, és távolságszerint számoljon?
Új hozzászólás Aktív témák
Hirdetés
- iPhone topik
- Autós topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
- Azonnali alaplapos kérdések órája
- Kertészet, mezőgazdaság topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Gitáros topic
- Külföldi rendelések: boltok, fizetés, postázás
- Tőzsde és gazdaság
- További aktív témák...
- Zebra ZP505 EPL - Hőpapíros címkenyomtató
- Okosóra felvásárlás!! Samsung Galaxy Watch 5 Pro, Samsung Galaxy Watch 6 Classic
- Telefon felvásárlás!! Samsung Galaxy A16, Samsung Galaxy A26, Samsung Galaxy A36, Samsung Galaxy A56
- AKCIÓ! Acer Predator Triton Neo 16 15 notebook - Ultra 9 185H 32GB RAM 2TB SSD RTX 4070 WIN11
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest