Új hozzászólás Aktív témák
-
ALI_G
veterán
ha a textúra eredeti színét akarod visszakapni, akkor a tárgynak fehér szűnek kell legyen, vagyis glcolor3f(1.0,1.0,1.0);
ha két fény akkor setupRCben is kettőt kell definiálni, lényeg, hogy két helyről legyen megvilágítva, vagyis a pos akárminek a vektora eltérjen egymástól.
talán így van. -
almi
senior tag
Sziasztok!
Olyan kérdésem lenne, h hogy lehet egy progibe berakni 2 világítást? Egy tárgyat 2 felől kellene megvilágítanom 2 felől spekulárissal.Ehhez ügye kell Diffuse is. Na szóval hogy csináljam h 2 fényforrásom legyen?A másik kérdés pedig az lenne h a Textúráim nem a saját színűkben jelennek meg a tárgyakon.Ennek mit lehet csinálni h jó legyen?
Köszi.
Üdv.
-
almi
senior tag
Sziasztok!
OpenGL-ben hogy lehet csonka kúpot csinálni??
Köszi.
-
rollins
őstag
Gondoltam megismerkedek az Opengl-lel. De sajna kibukott nálam az ehhez szükséges metematikai alapismeret hiánya. Úgy látom enélkül nem is érdemes elkezdeni.
-
ALI_G
veterán
[link]
Ezt valaki el tudja nekem magyarázni? Cohen - Sutherland vonalvágó algoritmus. Valszeg holnap kérdezik tőlem vizsgán és a jegyzet elég ratyi. -
ALI_G
veterán
neharagudj, de rosz helyen keresed, ez Opengl programozás topic. Próbáld esetleg az azonnali kérdések órájában.
Nekem ilyet akkor dobott asszem mikor kevés volt a video memória, de ez nállad nem kéne, hogy fent álljon. 1024p-re már elégnek kell legyen még 128 MB is, ha nincs AA, AF akkor biztos. Esetleg növeld meg a virtuális memóriát, egy próbát megér. -
Zsizsi81
csendes tag
Hello Zsenik!!! Help!!
Vettem egy Shappire X1600pro ati kártyát. Eddig jo is de aztán mohaa ''Breakthrough'' indit betölt és most jön a lényeg::: Felbontás 1280x1024-valo beállitásánál opengl gond. Azt irja nem tudott opengl alrendszert betölteni. Ez mit takar?? Kisebb felbontásban megy, de muszály ez 1280x1024 mert a tft monitioron igy élvezhetö!! Kérlek segitsetek S.O.S
[L]Játék[/L] -
Zsizsi81
csendes tag
Hello Zsenik!!! Help!!
Vettem egy Shappire X1600pro ati kártyát. Eddig jo is de aztán mohaa ''Breakthrough'' indit betölt és most jön a lényeg::: Felbontás 1280x1024-valo beállitásánál opengl gond. Azt irja nem tudott opengl alrendszert betölteni. Ez mit takar?? Kisebb felbontásban megy, de muszály ez 1280x1024 mert a tft monitioron igy élvezhetö!! Kérlek segitsetek S.O.S -
ALI_G
veterán
sajnos úgy teljesen elrontja a színeket (lehet vmi más miatt). A subdivide-ot nem vágom, de jó így ez nekem interpolálva. Így is kivehető mi micsoda
0.8/0.2 millis borostas baratunkMost csinálja ő is a kötprogot. Előlről kezdte, mert nem tetszett neki
Pedig szerintem célnak bőven megfelelt, sőt! Nekem tetszett is.
-
QuarK
senior tag
a specular csillanas miatt, ha tudsz, akkor subdivide-olj minden poligont; mert tul nagy felszinek eseten gagyi lesz az egesz (ugye csak vertexekkent nezi a dolgot, nem az egesz felszinen, ott csak interpolal butamod).
felolem barmikor jovoheten, elegge keszen vagyok mar; tele voltam (es meg vagyok, de mar nem sok) kotprogival, jon a sok idiota a balf*sz kerdeseivel, mintha helpdesk lennek, es mas is nyaggat, szoval ramfer. 0.8/0.2 millis borostas baratunkat is meg kene talalnunk -
ALI_G
veterán
na leesett, ha kibe kapcsolhatóra csinálom, akkor látom van-e a változás, és van, de nagyon kicsi
azért nem vettem észre.
-
ALI_G
veterán
egy spot fényt akarok berakni, de semmit se csinál az alább kód, vagy leglábbis láthatót nem:
glLightfv(GL_LIGHT1, GL_POSITION, pos);
glLightf(GL_LIGHT1, GL_SPOT_CUTOFF, 60.0f);
glLightf(GL_LIGHT1, GL_SPOT_EXPONENT, 100.0f);
glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION, spotDir);
glEnable(GL_LIGHT1);
környezeti részek:
GLfloat ambientLight[] = { 1.0f, 1.0f, 1.0f, 1.0f };
GLfloat diffuseLight[] = { 1.0f, 1.0f, 1.0f, 1.0f };
GLfloat specular[] = { 0.1f, 0.1f, 0.1f, 1.0f};
GLfloat specref[] = { 1.0f, 1.0f, 1.0f, 1.0f };
GLfloat spotDir[] = { 0.0f, -1.0f, 0.0f };
GLfloat pos[4] = {0.0f, 40.0f, 20.0f, 0.0};
glEnable(GL_LIGHTING);
glLightModelfv(GL_LIGHT_MODEL_AMBIENT,ambientLight);
glLightfv(GL_LIGHT0,GL_AMBIENT,ambientLight);
glLightfv(GL_LIGHT0,GL_DIFFUSE,diffuseLight);
glLightfv(GL_LIGHT0,GL_SPECULAR,specular);
glEnable(GL_LIGHT0);
Mi a problem? -
ALI_G
veterán
lehet, hogy láma kérdés, de így 1 után egy istenért se ugrik be, hogy kell tömör kört rajzolni (már a szavak se úgy jönnek elő
)
-
skera
tag
OpenGL, hmmm, SZTE szagot érzek
-
QuarK
senior tag
válasz
passenger #66 üzenetére
van GlutTimerFunc, vagy valami hasonlo, most nem neznek utana, Te is meg tudod tenni. Letrehozol egy globalis valtozot, mondjuk yRot neven, es teszemazt' beallitod az idozitot 100msec-re, es a TimerFunc-ban ezt a valtozot noveled/csokkented. A megfelelo helyen pedig glRotatef( yRot, 0, 1, 0); vagy ahogy kell eppen.
[Szerkesztve] -
Protezis
őstag
Latom a nep kezd atszokni a prog.hu-rol pl. ide. Rajottek, hogy nem epp okos huzas ott megcsinaltatni massal a kotelezo programot, de hogy nem tanultak az esetbol, az eleg szanalmas. Ha egyszer is valaki miatt a kotprogit oran kell megirjam, mert nem kepes o maga elvegezni a feladatat, tuti szetverem a fejet egy lapattal.
passenger: Legyszives nezd mar meg azokat a kurva peldaprogramokat, nem hiszem, hogy egyikben sincs forgas. Koszonom. -
passenger
csendes tag
hi
Milyen függvénnyel, illetve hogyan lehet azt megoldani,h egy objektum(egy henger) folyamatosan forogjon.
A feladat: mosógép megvalósítása OpenGL-ben a következőképpen:
• a dob a mosógépben automatikusan forogjon,
• a dobban legyen egy kocka (ami automatikusan forog a dobbal),
• az F1 billentyű lenyomására kinyíljon, majd ismételt lenyomására becsukódjon az ajtó,
• a teljes mosógép a padlóval együtt a nyilak segítségével forgatható legyen,
• legalább 10 objektumból kell előállítani a mosógép,
• a mosógép egy sík lapon legyen elhelyezve (asztal),
• menü készítése (drótvázas és kitöltött közötti váltás)
A hengert két körrel és a köröket összekötő vonalakkal rajzoltam. Mondjuk ez lehet,h gáz.
Kösz előre is -
ALI_G
veterán
valakinek esetleg beugrik hogy kell drótvázasra csinálni egy egész progit? Csináltam már ilyet tavaj, de nem ugrik be...
-
ngy_tms
csendes tag
Nem álló a kamera, hanem követő, azaz, az éppen kirajzolt autó középpontját nézi.
Ha gázt adsz, megy utána.
Sajna itt nem tudok rajzolni, de az alábbi kellene:
autót kirakni az x, y, z pozícióba (ez kész van)
autót irányát észlelni, aztán kitolni R hosszan erre merőlegesen,
megcsinálni a R sugarú kör körüli forgatást egy időegységre,
autót x, y, z-be(origó) visszatolni
Legutoljára kirajzolni. -
Jester01
veterán
-
ngy_tms
csendes tag
Szia!
Próbáltam, de semmiképpen sem a várt eredmény történik. 2D-ben van az alábbi:
Adott egy autó, ami északnak néz. Rá van állítva egy kamera ami követi, de ez részben
fontos, mert van álló kamera is. Tudjuk, hogy hogyan állnak a kerekek (első kettő szöge).
Ismert az a képlet(remélem jó), ami megadja az R sugarat, ami körül elforgadjuk az
autót, ha kanyarodik (vagyis nem úgy fordulunk mint egy tank, ami eddig volt...)
Vagyis íven kanyarodik.
Na most az általad említett Rotate utáni ismételt eltolás odébbteszi az autót a pályán,
ami ugye _elfogadhatatlan_. Majd az ezutáni forgatás, ami elvileg jól forgatna valamiért
csak helyben forgat. Próbáltam ciklusban és tényleg helyben forgott az autó.
Mintha csak az első forgatás lenne.
Szóval meg kellene oldani, hogy az autó ne ugorjon balra 5 egységet, ha ez jön
ki forgatási sugárnak.
Ne ugorjon el a kamera elől. -
Dark_hm
csendes tag
Legrosszabb esetben konvertálom az objecteket
[Szerkesztve] -
Dark_hm
csendes tag
Hi! Valaki nem tudja, hogy hogy kell a VBO-s kirajzolásnál megadni az OpenGLnek azt, hogy a textúrakoordinátákat ne a vertex összekötési listából szedje? Azért kéne, mert olyan objektumokat használok, ahol egy vertexhez több textúrakoordináta is tartozik + külön megvan a ''textured polygon'' lista is, vagyis hogy melyik sokszöghöz melyik koordináta tartozik. A glDrawElements() - nek pedig a sokszög összekötési lista kell, és azalapján szedi a textúrakoordinátákat is, ami nem jó
Előre is kösz a segítséget. (esetleg küldhetek kódrészletet arról, hogyan rajzolom az objektumot) -
Jester01
veterán
Ebben az esetben kell még egy translate a rotate után. Az elsõ translate a forgatási középpontba visz, ott megtörténik a forgatás, a második translate pedig a rajzolási pozícióba visz (itt vigyázni kell, mert az eltolás már az elforgatott rendszerben értendõ) Legegyszerûbb esetben ez a második translate (r, 0, 0) vektort használ, ahol r a forgatás sugara. Ha ez 0, akkor értelemszerûen visszakapod az elõzõ esetet. SZVSZ, mint mindig
-
ngy_tms
csendes tag
Sziasztok!
Most újabb probléma lépett fel. Eddig volt egy kockám, amit x, y, z pozícióba
eltoltam és elforgattam az alábbi módon:
void RajzolKocka(float szog, float x, float, y, float, z)
{
glTranslate(x, y, z);
glRotate(szog, 0, 0, 1);
//rajzolas
....
}
Most azt szeretném, ha nem helyben, hanem egy kiszámolt(mindig új) pont
körül forgatná a kockát (nem helyben). Fontos: minden RajzolKocka meghívás PushMatrix()
és PopMatrix() között van. -
ngy_tms
csendes tag
Sziasztok!
GLUT segítségével hogyan tudom megoldani azt, ha
nyomom a felfele nyilat, és utána nyomom a jobbra nyilat is (mind2 nyomva van),
akkor mind2 hatása menjen 1x-re.
Eddig csak az ment amit eloszor nyomtam, de most valt farasztova. -
-
QuarK
senior tag
egyszerűen csak nem rajzolod ki először zölden a kockát [...] a hátsólap eldobást ki kell kapcsolnod
ugy ahogy mondod
es akkor most nekem lenne ket kerdesem:
az egyik, hogyan lehet kikapcsolni a vsync-et? nalam most PFD_DOUBLEBUFFER flag a pixelformatdescriptor-nal, es SwapBuffers( hDC) minden frame vegen; es igy vagy 60, vagy 30, stb... lehet a frame/sec.
a masik, hogy egy kis overbright-ot szeretnek. jelenleg ugy oldom meg, hogy kis meretben lerenderelem a kepet, ezt glReadPixels-el beolvasom, az eleg fenyes keppontokat megtartom, a tobbit feketere cserelem, elmosom, feltoltom texturanak, majd rendes meretben is render, es erre rablendelem az elmosott kepet. van-e erre mas mod, ami gyorsabb? mert a glReadPixels feler egy glFinish-el, es bar boven 10ms alatt van a kis es a nagy kep renderelese, 30fps-re leesik a framerate.
vagy valami mas modszer, hogy kis ''ragyogast'' vigyek a kepbe... -
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); ).
-
QuarK
senior tag
ha jol ertelek, akkor zold szinu kockat akarsz, amin piros folt van; akkor pedig ket menetben kell rajzolnod (hacsak nem multitexturazast hasznalsz, es a zold szint is, mint textura feszited fel a kockara)
glColor4f( 0.0, 1.0, 0.0, 1.0);
glBegin( GL_QUADS); // vagy amivel kirajzolod a kockat
glVertex3f( x, y, z);
...
...
...
glEnd();
majd
glEnable( GL_TEXTURE_2D);
glBindTexture( GL_TEXTURE_2D, pirospotty);
glTexEnvf( GL_TEXTURE_2D, GL_TEXTURE_ENV_MODE, GL_DECAL);
glEnable( GL_BLEND);
glBlendFunc( GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR);
glBegin( GL_QUADS);
glTexCoord2f( s, t);
glVertex3f( x, y, z);
...
...
...
glEnd();
glDisable( GL_BLEND);
glDisable( GL_TEXTURE_2D);
fontos, hogy ha z pufferelest is csinalsz, akkor glDepthFunc( GL_LEQUAL);... meg glEnable( GL_CULL_FACE); es glCullFace( GL_BACK);
meg feltetelezem, hogy nem ratyi glut-al rajzolod ki a kockat
[Szerkesztve] -
ngy_tms
csendes tag
Sziasztok!
Van egy kockám, azon textúra van. A kocka zöld.
A texturán van egy piros kör. Körülötte fekete a textúra.
Azt szeretném, hogy valami blendinggel a fekete eltűnjön
és alatta a zöld látsszon.
légyszi dobjatok meg egy maillel is ha válaszoltok, köszi.
ngy_tms@yahoo.com -
sghc_toma
senior tag
most elgondolkodtam a dolgon, és eszembe jutott vmi. lehet, hogy már alkalmazzák ezt az eljárást, lehet, hogy teljesen használhatatlan, ez most egy ilyen fárasztó nap utáni hirtelen gondolat: minden egyes ojjektumnak adok egy színt(mindegyiknek mást, ez max 2^24(32?)-en db ojjektum). Ezután a tényleges render előtt renderelem a scene-t úgy,h a háttér mondjuk fekete, az objektumok meg a unique color-juknak megfelelő színűek (persze alpha blending, lightning off). Ekkor a framebuffer-ből kiolvasom a pixelek színeit, és ha van két eltérő színű egymás mellett, akkor a két tárgy ütközik..
[add]
ja, hülye vok, ez csak 2d-ben okk. éppen most csinálunk egy barátommal egy point&click játékot, és én most folyton 2d-ben gondolkodom.. meg fáradt is vagyok pöttyet.
...de a z-bufferrel talán lehetne vmit kezdeni. ha megegyezik az eltérő pixelek z-értéke, akkor ütközés van. vagy nem? áááá, fáradt vok gondolkodni. majd holnap, kipihenten...
[Szerkesztve] -
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.
-
sghc_toma
senior tag
válasz
timoti2002 #37 üzenetére
ahOi!
Ha nem kell túl nagy precizitás, akkor megadod a hóembereknek és a rohangáló akárminek a befoglaló gömbjének a sugarát. Két gömbre pedig már egyszerűen el lehet végezni az ütközésdetektálást:
hóembert bef. gömb sugara: R, középpontja: P(X,Y,Z)
a rohangáló akármit bef. gömb sugara: r, középpontja: p(x,y,z)
ha | p(x,y,z)-P(X,Y,Z) | <= R+r, akkor a két gömb ütközik.
Innen már könnyen le lehet kezelni a dolgot (csak olyan irányba engeded mozogni, hogy ne ütközzön a két gömb.)
amúgy NeHe-n van egy collision detection tutorial: [link] -
timoti2002
csendes tag
Hali!
Elég analfabéta vagyok Opengl-ben. Egy progrmaot kell leadnunk e tárgyból. Ehhez megkéne csinálnom azt, hogy ha rohangálok a hóemberek között, NE MENYEK ÁT RAJTUK! Valaki tudna segíteni, mert számomra ez kivitelezhetetlen.
Előre is köszönök minden segítő szándékot! -
c4-eXp
aktív tag
Nem feltétlenül kell négyzet alakúnak lennie a textúrának, az oldala pedig különbözhet 2 hatványától. Legalábbis a mostani videokártyák már mind támogatják ezt. Pl. a radeon 9200-as, szóval nem is kell a legmodernebbekre gondolni. Persze ha a vidkari egy régebbi modell, akkor lehet ez a probléma.
Egyébként meg bocs, hogy dx fan létemre beleóbégatok a topikodba. -
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. -
yksz
aktív tag
[link]
glBindTexture(GL_TEXTURE_2D,texture[2]);
GLTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
gluBuild2DMipmaps(GL_TEXTURE_2D,3,TextureImage[0].sizeX,textureimage[0].sizeY,GL_RGB,GL_UNSIGNED_BYTE,textureimage[0].data);
nagyjából így néz ki minden. -
yksz
aktív tag
Pls help! Delphi alatt mert még ebben írom a progikat a mipmapped textúrák helyett csak egy pár potty jelenik meg, a tutrialos jól megírt kóddal is. Mi lehet a gond?
-
ALI_G
veterán
meg van, a lib fájlom nem volt jó...kicseréltem és műxik minden.
-
ALI_G
veterán
Nem ez volt a baj
a BC még mindig ugyanazt a hibát adja vissza.
A VC pedig 102 hibát találvmi súlyos user error lehet itt. pls vki help
-
ALI_G
veterán
ezer kösz, mindkettőtöknek
Petya: azért, mert az alaplapom gariztatni van, még mindig fent csücsülnek rajta Pesten, már több mint egy hete, és haver gépén kell vmit kreálnom (már így is szétberheltem rakás progival, és még csak pár dolog van fent, amik nékülözhetetlenek nekem. Neki tuti nékülözhető, geográfusnem is bika a gép, akad össze-vissza, de több mint a semmi)
-
ALI_G
veterán
nemmegy a fordítás
[link] ez alapján csináltam mindent, de pár dolog nem stimmelt vele:
-Győződjünk meg arról, hogy a c:\BORLAND\BCC55\Bin\ könyvtárban található konfigurációs file-ok tartalmazzák a következőket:
* bcc32.cfg
-I''c:\Borland\Bcc55\include'' -L''c:\Borland\Bcc55\lib''''
* ilink32.cfg
-L''c:\Borland\Bcc55\lib'' -L''c:\Borland\Bcc55\lib\PSDK''
ez a két fájl nem is létezett eleve, nosza neki csináltam mindkettőt. Belemásoltam a fent írtakat (pl: I''c:\Borland\Bcc55\include'' -L''c:\Borland\Bcc55\lib'' /- kötőjel nélkül -/).
Készítsük el a Borland-specifikus glut32.lib könyvtárat:
implib glut32.lib glut32.dll
Ezt nem igazán vágtam, de bemásoltam cmd-be. le is futott vmi. csinált 1 fájlt a BCC55-ön belül. glut32.lib ezt.
Aztán másoltam is (Másoljuk át a következő file-okat: ...)
Majd fordítás, egy simpla fájl: hibaüzenet-tel zajlott le
ERROR E2075 Incorrect confuguration file option: borland\bcc55\include
Mit rontottam el? (sürgős, pls)
csak tudnám, hogy ha CODE-ba rakom a ''-t akkor miért rakja át ' ' -ra
[Szerkesztve] -
Protezis
őstag
UP!
-
Protezis
őstag
UP!
-
Protezis
őstag
Bővebben: link alapján beállítottam a Borland fordítót. Az előbbi simple.c-t le is fordítja, viszont megint van pár dolog amit nem fordít le. A gl.h-ban talál declaration syntax errort az 1153-1177-ig tartó sorokban. Nem értem
Akár az előbbi, akár az ehhez a hsz-hez kapcsolódó helpet szívesen veszek -
Protezis
őstag
Win XP alatt szeretném lefordítani a suliban linux alatt működő forrásfájlokat.
MinGW-vel dolgozok. Leszedtem a glut-ot, elvileg jó helyre be is másoltam a fájlokat.
De nem akarja az igazat. Az alábbi csak egy példaprogram:
// Friendly.c
// A Friendly OpenGL Program
// OpenGL SuperBible, 2nd Edition
// Richard S. Wright Jr.
#include <GL/glut.h>
// Called to draw scene
void RenderScene(void)
{
// Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT);
// Flush drawing commands
glFlush();
}
// Setup the rendering state
void SetupRC(void)
{
// Set clear color to blue
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
}
// Main program entry point
int main(void)
{
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutCreateWindow(''Simple'');
glutDisplayFunc(RenderScene);
SetupRC();
glutMainLoop();
return 0;
}
Fordításnál kibök jónéhány undefinied reference to... hibát.
pl: glutInitDisplayMode, glutMainLoop stb.
Egy oldalon találtam leírást a glut telepítéséhez, és az ott lévő példaprogram lefordul a köv. módszerrel:
gcc testgl.c –o testgl -lopengl32 -lglu32 -lglut32
A fenti példa viszont így se. Mi lehet a gond? Windowshoz ragaszkodom! -
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. -
GBX
aktív tag
Nos, van más fajta köd is:
radial fog vagy mi a fene. ez a camerától mért távolságnak megfelelően csinálja a ködöt (sztem te ezt akartad)
itt egy ppt: http://developer.nvidia.com/attach/6729
lehet ködöt még részecskerendszerrel is csinálni vagy (féli átlátszó)billboardokkal.
ezenkívül van rá lehetőség hogy esetleg pixelshaderrel egyfalyta volometric fog-ot csinálj.
Sok sikert. -
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
- Kerékpárosok, bringások ide!
- Milyen légkondit a lakásba?
- CPU léghűtés kibeszélő
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- Prohardver app (nem hivatalos)
- Milyen okostelefont vegyek?
- Debrecen és környéke adok-veszek-beszélgetek
- Csak semmi szimmetria: flegma dizájnnal készül a Nothing Phone (3)
- Horgász topik
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- További aktív témák...
- Eladó MSI B650 GAMING PLUS WIFI Alaplap
- Eladó PNY GeForce RTX 4070 Ti SUPER 16GB videokártya
- Bomba ár! Asus Slate EP121 Tablet - Intel Core i5 I 4GB I 64GB SSD I 12" Touch I Cam I W10 I Gari!
- Bomba ár! HP EliteBook 2570P - i5-3GEN I 4GB I 320GB I DVD I 12,5" HD I W10 I Garancia!
- Bomba ár! HP EliteBook 2560P - i5-2GEN I 4GB I 320GB I 12,5" HD I W10 I Garancia!
- BANKMENTES részletfizetés ASUS TUF F16 FX607JV-QT212 Tesztvideó a leírásban Nézd meg működés közben
- Eredeti Lenovo 230W töltők - 4X20Z83995
- Apple iPhone 13 . 128GB , Kártyafüggetlen , 100% akku
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Bomba ár! HP EliteBook 8460P - i5-2GEN I 4GB I 320GB I DVD I 14" HD I W10 I Garancia!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest