Ú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
- Lenovo ThinkPad T14 Gen 1 i5-10210 / 16GB RAM/ 256GB NVMe SSD világítós EU bill, kiváló állapotban
- vizes GAMER PC - RYZEN 5 7600X / 32GB DDR5 / RTX 5070 12GB
- HP EliteBook 840 G7 i5-10210U / 16GB RAM / 256GB SSD Szép állapot, EU bill, gyári töltő
- A KINCS ! Új HP EliteBook 860 G10 Profi Fémházas Laptop -50% 16" i7-1355U 32/1TB FHD+ IPS MATT
- Dobozos DELL Inspiron 16 Fémházas Multimédiás Laptop 16" -30% Ryzen 7 8840U 8mag 16/1TB FHD+ IPS
- i9-11900K / RTX 3080 / Z590i / 32GB 4000MHz / 1TB NVMe / 750w GOLD! BeszámítOK
- ÚJ MacBook Pro 14" M4 PRO 24GB 512GB Space Black
- LG 27G640A-B - 27" IPS / QHD 2K / 300Hz & 1ms / NVIDIA G-Sync / FreeSync / DisplayHDR 400
- 3440 x 1440 100Hz!!! 90W PD 34" CURVED 1000R Samsung S34A650UXU - 1 év garancia!
- Samsung Galaxy A16 / 4/128GB / Kártyafüggetlen / 12HÓ Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

. OpenGL for ever 
