|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
programmer
Joined: 15 Sep 2006 Posts: 71 Location: Latvija, Limbaži
|
Posted: Thu Aug 30, 2007 4:56 pm Post subject: Ļoti tumšas light-mapes |
|
Es nesaprotu kāpēc uzliekot lightmap, tikai knapi var redzēt gaišu plankumu uz poligona. Lightmap textūra ir pat ļoti gaiša un ir skaidrs, ka šis nav pareizais rezultāts, kādu man būtu jāsaņem. Editorā, kurā uzrenderēju lightmap viss bija normāli.
Es izmantoju multi-texturingu kā rakstīts vairākos tutoriālos, piemēram šeit.
Ceru, ka kāds no jums zina, kāpēc tā notiek. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Aug 30, 2007 5:25 pm Post subject: |
|
Zināt tavu kodu vari tikai tu pats. Citi var tikai tējas biezumos to zīlēt. |
|
Back to top |
|
|
programmer
Joined: 15 Sep 2006 Posts: 71 Location: Latvija, Limbaži
|
Posted: Thu Aug 30, 2007 5:32 pm Post subject: |
|
Kādu kodu tad Jums tieši vajag? Es jau iedevu to multi-texturinga kodu.
Es prasu, kas varētu būt pie vainas šādā gadījumā? Es iedomājos par ambient lightning, bet laikam jau šajā gadījumā tas neko nenosaka. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Thu Aug 30, 2007 5:39 pm Post subject: |
|
tajā kodā, ko tu iedevi, trūkst dažu detaļu... labāk iedod savējo, un...
paskaties, kas ar blending'u, alpha, un katras tekstūras uzstādījumiem... tiešām, pēc šī koda nevar pateikt, kā tas strādā/nestrādā tev! un vēl - screenshots noderētu... _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
programmer
Joined: 15 Sep 2006 Posts: 71 Location: Latvija, Limbaži
|
Posted: Thu Aug 30, 2007 5:58 pm Post subject: |
|
Būtu pateikuši, tieši kuru koda daļu vēlaties redzēt. Tas ir samērā liels projekts, tādēl nevaru iepostēt te visu kodu. Domāju, ka screenshotam nebūs liela nozīme, tāpat ir skaidrs kā tas varētu izskatīties.
Textūras uzstādījumi bija tajā tutoriāli parādīti - tādus arī es lietoju. GL_BLEND man ir izslēgts, jo tas tāpat neko nemainīja. GL_LIGHTING arī izslēgts. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Thu Aug 30, 2007 6:38 pm Post subject: |
|
nu diemžēl es arī nezinu, kāds kur tavā nezcik lielajā projektā kods...
bet iepostē tās koda daļas, kuras saistītas ar multiteksturēšanu-lightmap'iem _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Aug 30, 2007 7:13 pm Post subject: |
|
GL_TEXTURE_ENV_MODE. esi pareizus salicis abiem texture-unitiem?
Ja GL_LIGHTING esi izslēdzis, tad vai pareizus glColor esi salicis? |
|
Back to top |
|
|
programmer
Joined: 15 Sep 2006 Posts: 71 Location: Latvija, Limbaži
|
Posted: Thu Aug 30, 2007 10:24 pm Post subject: |
|
Nu tieši tā, pie vainas bija GL_TEXTURE_ENV_MODE, par ko tajos tutoriālos nebija ne miņas.
Pašlaik uzliku Code: | glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_EXT);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB_EXT, GL_ADD_SIGNED_ARB); | un rezultāts ir labs, tikai tumšie apgabali ir mazliet par gaišu. Būtu labi ja varētu dabūt tieši tā kā renderē editors, taču visumā to sīkumu var arī pieciest.
Nu tā, tagad mani nomoka cits jautājums, šoreiz par īstajām gaismām.
Es nesaprotu kādā veidā var iztikt ar 8 gaismām, ja man scēnā ir, piemēram, 100 gaismas? Es domāju, ka tur noteikti ir kāds algoritms, kā tās gaismas pārvietot tur, kur atrodas kamera. Rodas jautājums, kas notiek ar tām gaismām, kas ir kautkur tālumā, kur joprojām tās ir redzamas?
Varbūt es nošāvu galīgi greizi ar augšminēto Varbūt var kautkā renderēt scēnu tā ka norenderē 8 gaismas vienā vietā, tad 8 gaismas otrā vietā, un tā kamēr visas gaismas ir norenderētas?
Internetā es jau vairākas reizes esmu iemetis aci, bet neko labu neesmu atradis. Būtu labi, ja kāds verētu ieviest skaidrību un/vai iedot kādus materiālus par šo tēmu. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Aug 30, 2007 10:57 pm Post subject: |
|
Ja gaismas spīd uz statiskiem objektiem, tad tās izrēķina līmeņa veidošanas laikā kā lightmapes.
Ja gaismas spīd uz dinamiskiem objektiem - tad vai ir jēga spīdināt gaismu, kas ir 500 metrus tālāk, piemēram, uz ieroča modeļa?
Un nekāda algoritma nav - gaismas avoti jau nekur netiek pārvietoti. Tie atrodas nekustīgi world koordinātēs. Turpretī kamera pārvietojas gan. Atliek noskaidrot 8 tuvākās gaismas kamerai, un uzstādīt attiecīgo gaismas avotu koordinātes.
Viens veids kā dabūt vairāk kā 8 gaismas ir multi-pass rendering - objekts tiek zīmēts vairākas reizes, katru reizi izmantojot citas gaismas. Izrēķinātie pikseļi uz ekrāna tiek sarēķināti kopā izmantojot dažādas blend modes. Bet tas man liekas, ka būs diezgan palēns variants.
Cits veids (advancētāks un universālāks, bet diezgan sarežģītāks) ir deferred shading. Visi objekti tiek renderēti offscreen tekstūrās "plikā" veidā, tb bez apgaismojuma - tiek "renderētas" normāles, pozīcijas, materiāli utt arī offscreen tekstūrās. Pēc tam ar speciālu šeideri šīs offscreen tekstūras apvieno vienā gala rezultātā, kuru parāda uz ekrāna. Šim veidam ir diezgan lielas priekšrocības ātruma ziņā pie lieliem ģeometrijas uz gaismas avotu apjomiem.
Vēl izlasi šo: http://opengl.org/resources/faq/technical/lights.htm#ligh0070 |
|
Back to top |
|
|
programmer
Joined: 15 Sep 2006 Posts: 71 Location: Latvija, Limbaži
|
Posted: Thu Aug 30, 2007 11:50 pm Post subject: |
|
Paldies, bubu! Kautkas kļūst skaidrāks.
Pieņemsim ka ir šāda situācija. 500 metrus tālāk atrodas dinamisks modelis, kuram blakus atrodas gaismas avots. Šādā situācijā man taču ir jāredz viņš apgaismots, nevis melns, kaut arī tas ir tālumā. Kā tad es varu šo modeli apgaismot, ja visas 8 aktīvās gaismas ir piesaistītas tuvākajām gaismām atiecībā pret kameru? |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Aug 31, 2007 12:01 am Post subject: |
|
Tak katram modelim būs savas 8 tuvākās gaismas. Tās arī tad ieslēdz, kad zīmē konkrēto modeli. Nav jau globāli uz visu scēnu tikai 8 gaismas jāieslēdz. Uz katru modeli (jeb poligonu) tu vari koriģēt jebkādus OpenGL/D3D parametrus - gaismas, tekstūras, krāsas, normāles, utt.. |
|
Back to top |
|
|
programmer
Joined: 15 Sep 2006 Posts: 71 Location: Latvija, Limbaži
|
Posted: Fri Aug 31, 2007 1:47 am Post subject: |
|
Ā, pareizi! Jāiet izgulēties, lai nenāk tādas muļķības vairs galvā. |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Fri Aug 31, 2007 12:23 pm Post subject: |
|
Kādā rakā tu esi izslēdzis GL_BLEND? _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Aug 31, 2007 6:35 pm Post subject: |
|
Tāpēc, ka lightmapes bez šeideriem realizē ar multi-texturingu: 0-tais units ņem parastu tekstūru, bet 1-ais units reizina to ar lightmapes krāsu (vai arī skaita klāt un atņem 0.5). Un tam OpenGL blend modes nav vajadzīgas. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Fri Aug 31, 2007 6:50 pm Post subject: |
|
ar tām gaismām - vajadzēs kādu "tree" laikam izmantot, lai nesanāk tā, ka tuvākā gaisma ir aiz sienas... nebūs tad labi.. _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|