Interesuje me samo jos jedna stvar. Posto sam i ja krenuo sa nekim pdf knjigama sa neta 3d progamiranje, primetio sam jednu stvar koji me zabrinjava. Cak i na prvom sampleu koji sam pokrenuo je procesor bio 100% zauzet. Isto to sam primetio i na tvom primeru, iako radi bez problema. U cemu je stvar, da li je potrebna neka optimizacija i kakva?
Može. Ne znam kako je tu gde je SashaX radio ali GLScene za Delphi može da bira koliko će da se posveti aplikaciji (uvek, kad je može, blabla ) i staviš mu delay npr. 1 ms i CPU usage opada drastično a na FPS se i ne odražava (sad ne znam kako je kod igrica, ovde u demo-ima gde imaš svega par objekata u sceni se ne primećuje razlika)
Treba da dodaš Sleep() negde unutar glavne petlje. To će ti malo oslabiti fps ali će procesor dobiti lufta za dguge stvari. Možda je najbolje da ograničiš fps na neku vrednost. Dakle pre glavne petlje proveriš da li je došao trenutak za rendering frejma, ako jeste rendaš ako nije odspavaš sa Sleep neko vreme pa opet u tu proveru.
U d3d možeš da prepoznaš trenutak kada je prozor izgubio fokus jer gubiš device.... dok ne uspeš da ga povratiš takođe dremaš (vrtiš se u petlji u kojoj je slip() i provera za device). Jako je glupo ako ti aplikacija uzima 100% procesora dok je u pozadini.
Sve pohvale za demo izgleda bas lepo. Kod mene radi bez problema iako imam dva monitora tj. radi na onom koji je primarni. Promenio sam rezoluciju u igri na 1280x1024, antialiasing na 4 puta i nivo senki na 3 i fps se krece od 45 do 90 (imam GF 6600 sa 265 VRAM-a i AMD 2500+ na 1,83Ghz). Jedina primerka mi je sto je igra odbila da se pokrene sa antialiasingom na 4 vec je prijavila da nije podrzan i postavila ga na 2 puta.
Primetio sam da se senka broda ne iscrtava kada je brod u nekoj drugoj senci sto je za svaku pohvalu jer to nisam video da su to uradili u nekim novijim igrama koje sam probao!!
To valjda znaci da nisu "bejkovane" teksture, vec su senke stvarne. To moze na ovako maloj igrici bez problema, ali kod vecih se vrsi optimizacija. SashaX nek me ispravi ako gresim.
sjenka broda je stvarna, a od staze je "bejkovana"
vrsi se obican intersection test duzi D(pozicija izvora svjetlosti, pozicija broda) sa stazom
na osnovu toga se osim "zaobilaska" crtanja sjenke broda i sam brod zatamni
"tehnika" i nije bas savrsena, desava se da se jedan dio sjenke broda ipak "precrta" preko sjenke na stazi ako se brod nalazi na prelazu sjenke staze i osvijetljenog dijela staze, mada se to ne primjecuje zbog kretanja broda
nauci me raditi ovako nesto! ja bi isto radio igre (ne moraju da su tave, za pocetak, nesto lakse! Daj neki savjet, gdje da krenem s cim da pcnem i de, neka NE bude na engleskom, ako moze)