Új hozzászólás Aktív témák
-
Mr_Oizo
csendes tag
válasz
sghc_toma
#131
üzenetére
Így van felépítve a talaj:
glBegin (GL_QUADS);
glNormal3f (0,0,1);
glTexCoord2f (0.0f,1.0f);
glVertex3f (0.0f,0.0f,offset);
glTexCoord2f (1.0f,1.0f);
glVertex3f (width,0.0f,offset);
glTexCoord2f (1.0f,0.0f);
glVertex3f (width,height,offset);
glTexCoord2f (0.0f,0.0f);
glVertex3f (0.0f,height,offset);
glEnd();De, ha glShadeModel (GL_SMOOTH); -ra be van állítva, akkor nem úgy van hogy pixelenként képezi le a fényt, és elvileg jónak kellene lennie?
Most így néz ki egyébként, hátul látszódik a spotlight eredménye:
Megpróbálom rácsra felosztani.
-
Mr_Oizo
csendes tag
válasz
sghc_toma
#129
üzenetére
display list, vertex array, vertex buffer object - ezekről már hallottam, de akkor pontosan megnézem, hogy kell alkalmazni.
A spotlightokat az utcai lámpáknak szeretném, azért kellene spot-tal megoldani.
Olyan mintha túl nagy szögben világítaná meg, tehát nem fókuszál kis területre erősen a spotlight, úgy mint a linken amit lentebb beszúrtam. Pedig ennyire állítottam:
Ja és a négyzet GL_SMOOTH-ra van állítva
glLightf(GL_LIGHT2, GL_SPOT_CUTOFF, 10);
A direction pedig ekkor jó:
float direction[] = {10.0f, 10.0f, 0.0f};
//spot direction
glLightfv(GL_LIGHT2, GL_SPOT_DIRECTION, direction);Igazából valami ilyesmit szeretnék, de nem akarok összejönni:
Nem tudom hogyan lehetne a spotlighot jól beállítani, egy textúrázott négyzethez, ami a z-tengelyen 0-ban van, x, y-on pedig kb. (0,0), (19,19) között kifeszítve.
Meg a spotlight-ot ha megtanultam használni, akkor a kocsik fényszóróját is tudnám vele imitálni, ami jól nézne ki.
-
Mr_Oizo
csendes tag
válasz
sghc_toma
#127
üzenetére
Hm......
.Mindjárt kipróbálom.
Köszi a segítséget!Áááh! Ez nagyon király cucc
. Tudtam, hogy van ilyen material-os dolog, de nem tudtam hogy ezt ilyen egyszerű megadni vele 
Köszi mégegyszer
!Lenne még két kérdésem
. Nem akarok pofátlan lenni, de ha már itt a fórum, akkor kihasználom
..3ds fájlokat töltök be a progiba, és erre van egy függvényem, amivel felépíti ezeket a betöltött object-eket GL_TRIANGLES-ből. Hogyan lehetne ezt optimalizálni, mert beolvasok kb. 100 kisebb objektumot, azokat mozgatom(kocsik egyébként
), és mikor kb. már 100-an vannak bent, akkor lemegy az fps ilyen 10-re
. A .3ds betöltőt a www.spacesimulator.net-ről töltöttem. Nem értem mitől lassul be ennyire, pedig elég jó kis gépem van, szóval nem itt lenne a gond sztem. Esetleg rakjak be forráskódot?Második kérdés:
Próbálok spotlight-okat berakni a környezetbe, de nem igazán boldogulok vele. Nem azt csinálja, mint ahogy leírják.
Van egy textúrázott négyzetem, ez a föld, ezen mennek a kocsik össze-vissza. Úgy, hogy a földnél most az z tengely van a felfele. Ide beraktam szépen spotlightot, de a direction-t elég érdekesen kell megadnom hogy megvilágítsa a földet. Elvileg úgy kellene megadnom a direction-t hogy (0.f, 0.f, -1.f), és ekkor világit merőlegesen rá a földre. De nem ezt csinálja. Hanem ahogy most megvan adva a direction, így világítja meg a földet, de ilyen furán. Itt a kód:
//Spotlight
float noAmbient[] = {0.2f, 0.2f, 0.2f, 1.0f}; //low ambient light
float diffuse[] = {0.2f, 0.2f, 0.2f, 1.0f};
float position[] = {17.0f, 17.0f, 0.2f, 1.0f};
GLfloat specularLight[]={0.2,0.2,0.2,1.0}; // set specular light parameters
glLightfv(GL_LIGHT2,GL_SPECULAR,specularLight);
//GLfloat specularReflection[]={1.0,1.0,1.0,1.0}; // set specularity
//glMaterialfv(GL_FRONT, GL_SPECULAR, specularReflection);
//glMateriali(GL_FRONT,GL_SHININESS,128);
glColorMaterial(GL_FRONT,GL_AMBIENT_AND_DIFFUSE);
//properties of the light
glLightfv(GL_LIGHT2, GL_AMBIENT, noAmbient);
glLightfv(GL_LIGHT2, GL_DIFFUSE, diffuse);
glLightfv(GL_LIGHT2, GL_POSITION, position);
//Spot properties
// define the spot direction and cut-off
float direction[] = {10.0f, 10.0f, -1.0f};
//spot direction
glLightfv(GL_LIGHT2, GL_SPOT_DIRECTION, direction);
//angle of the cone light emitted by the spot : value between 0 to 180
glLightf(GL_LIGHT2, GL_SPOT_CUTOFF, 3);
//exponent propertie defines the concentration of the light
glLightf(GL_LIGHT2, GL_SPOT_EXPONENT, 7.0f);
//light attenuation (default values used here : no attenuation with the distance)
glLightf(GL_LIGHT2, GL_CONSTANT_ATTENUATION, 1.0f);
glLightf(GL_LIGHT2, GL_LINEAR_ATTENUATION, 0.0f);
glLightf(GL_LIGHT2, GL_QUADRATIC_ATTENUATION, 0.0f);Köszönöm előre is a helpet!

-
Mr_Oizo
csendes tag
válasz
sghc_toma
#125
üzenetére
Ez így elég egyszerű megoldás lenne
, csak elfelejtettem írni hogy textúrázottak a gömbök.Egyébként most azt találtam ki, hogy rakok be fényeket, és míg a négyzetet rajzolom ki, addig glDisable(GL_LIGHTING), aztán pedig glEnable(GL_LIGHTING), és így a négyzet szép világos, a többire pedig hat a fény.
Új hozzászólás Aktív témák
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- AMD Navi Radeon™ RX 9xxx sorozat
- ThinkPad (NEM IdeaPad)
- Tudományos Pandémia Klub
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Xiaomi 17 Ultra - jó az optikája
- Kuponkunyeráló
- Google Antigravity - ennyi volt?
- Milyen videókártyát?
- Projektor topic
- További aktív témák...
- Samsung Galaxy S25 256GB - Menta - Samsung.hu, Garanciális, Kártyafüggetlen
- Samsung Galaxy A56 5G Awesome Graphite 128GB használt karcmentes 6 hónap garancia
- Apple iPhone 13 128GB,Átlagos,Adatkabel,12 hónap garanciával
- Apple iPhone 13 128GB,Újszerű,Adatkabel,12 hónap garanciával
- Apple iPhone 13 Pro 128GB,Újszerű,Adatkabel,12 hónap garanciával
- Lenovo X280 12" - i7 8550U, 16GB RAM, 256-512GB SSD, jó akku - számla, 6 hó gar
- GAMING PC! Ryzen 9 3900X / RTX 3080 / B550 / 16GB 3200MHz / 500GB NVMe / 1250w Gold! BezsámítOK
- Ducky One 3 FULL/TKL/SF/MINI billentyűzetek többféle színben és kapcsolókkal, plusz csuklótámaszok
- Xbox One / Xbox Series játékok
- Lenovo ThinkPad P15 Gen 2 i7-11850H 32 GB RAM 512 GB SSD NVIDIA T1200 Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
.
Köszi a segítséget!
. Tudtam, hogy van ilyen material-os dolog, de nem tudtam hogy ezt ilyen egyszerű megadni vele
!
. Nem akarok pofátlan lenni, de ha már itt a fórum, akkor kihasználom
. A .3ds betöltőt a www.spacesimulator.net-ről töltöttem. Nem értem mitől lassul be ennyire, pedig elég jó kis gépem van, szóval nem itt lenne a gond sztem. Esetleg rakjak be forráskódot?
600*600-as mátrixként is elfogadja, kezelés szempontjából jobb is így.
