Skocz do zawartości
greg505

Opengl Problem

Rekomendowane odpowiedzi

Witam

mam troszke problem z malym projektem ;)

 

musze zrobic 'scene' po ktorej sie bedzie mozna poruszac, za pomoca myszki i klawiatury (jak w grach), z tym sobie poradzilem.

 

teraz o problemie <_<

niebo jest zrobione ze sfery na ktora nalozylem teksture.

 

srodek powierzchni po ktorej sie poruszam jest w poczatku ukladu wspolrzednych (0,0,0) tak samo jak sfera(tylko ze z duzym promieniem).

 

jezeli sie cofne to powstaje mi taki glupi ekfekt (przedstawiony na screenie)

Dołączona grafika

konczy sie obszar widzialny dla kuli i powstaje dziura (wieksza im bardziej sie oddalam)

nie wiem czy to dobrze opisalem :unsure:

 

rozwiazaniem problemu moze byc oczywiscie pomniejszenie sfery, ale raczej to nie wchodzi w gre, bo nie zmieszcze wszystkich obiektow ktore chcialbym dodac

 

moze ktos mi podpowie jak zrobic aby nie 'wyjezdzac poz kule'

zeby wszedzie byl widok nieba, tak jak tu

Dołączona grafika

 

wiem ze nie opisalem tego zbyt jasno, ale mam nadzieje ze ktos zrozumie o co mi chodzi.

jak by co to moge podeslac plik exe jak to dokladniej wyglada

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

napewno sie da ;)

 

tylko nie wiem jaka funkacja ;/

 

edit:

juz wiem jaka :D

 

gluPerspective()

 

 

tylko ze po zwiekszeniu 'obszaru widzialnego' fps leca strasznie ;/

 

na mojej kracie z aax8 i afx16 mam okolo 25 :blink:

zreszta bez aa i af niewiele wiecej, moze jakies pomysly jak temu zaradzic

 

jak dodam jeszcze kilka zrodel swiatla i cienie to juz bedzie tragedia :[

Edytowane przez greg505

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

moze przesadziles z fovy? pamietaj ze zNear i zFar tez sa bardzo istotne tutaj. imho zFar nawet bardziej ;] wlasciwie to moze nawet zwiekszenie zFar zamiast pola widzenia daloby pozadany przez ciebie efekt.

 

sorry ze moge troche macic ale opieram sie na doswiadczeniach z DXem, openglem jeszcze sie nie bawilem ;]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

kazda pomoc sie przyda ;)

 

fovy mam ustawione na 70f

zFar mialem za male (tylko to zwiekszalem na 200)

 

w sumie mialem wlaczone V-synch dla opengl, po wylaczeniu liczba fps sie podwoila, wynosi teraz 45fps

 

ale wciaz sie obawiam ze na slabyszym sprzecie wydajnosc bedzie slaba.

 

musze jeszcze cos znalezc o renderowaniu (a raczej nie renderowaniu ;) ) obiektow ktorych nie widac, mysle ze to sporo przyspieszy...

 

 

edit:

powodem tak duzego spadku fps byl blending..... teraz jest ok 300fps;]

Edytowane przez greg505

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

hmm.. a czy nie da się użyć czegoś takiego jak niebo? Nie wiem na ile jest to specyfika nadbibliotek a naile openGLa... ale jako niebo wystarczy wczytac textury na jakiś mały sześcian i uzyć tego sześcianu do renderowania obszarów nieba... Nie musisz wtedy tworzyć wielkich kopuł, a silnik renderujacy wrzuca twoją teksture tam gdzie nic nie ma... jako tło...

 

ps. jesli openGL to nie wymóg, poszukaj sobie darmowego silnika Irlicht3D Engine... ful wypas... kilka linijek kodu i już biegasz po mapie z q3 :D

Edytowane przez PelzaK

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

niestety, a moze stety ;) musi to byc opengl.

 

teraz mam problem z wczytaniem niektorych modelow 3ds. :?

 

wszystkie obiekty uzywajaca tekstur sie nie wczytuja ;/

te ktore sa tylko 'kolorowane' dzialaja bez problemu, ale jezeli obiekt ma teksture to wtedy wyswietla sie on bez niej.

 

moze znacie jakies stronki z darmowymi obiektami 3ds (oczywiscie w google szukalem ;) )

 

w 3dsmaksie juz sie bawilem.... ale wole jednak znalezc gotowe obiekty ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

a jak dasz recznie :

glBindTexture(GL_TEXTURE_2D, texture[0]);
przed wyrenderowaniem mostku to co sie dzieje ? Pokaz funkcje wczytujaca model i funkcje renderujaca obiekt wczytany z 3ds

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

wlasnie ta funkcja wczytuje teksture trawy

 

jezeli chce na obiekt nalozyc teksture w taki sposob jak napisales to obiekt tylko zmienia kolor

 

 

 

glPopMatrix();	glPushMatrix();	glTranslatef(7,4,-14);	glRotatef(45,0,1,0);	model1->draw();//mainmodel1 = new model3DS ("modele/nazwa_modelu.3DS",0.1);

pliki *.h i *.cpp z obsluga tekstur i modeli mam stad http://isg.cs.tcd.ie/keith/4ba6/ChristmasProject/

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

no więc mówię... silnik niczego sobie, co najważniejsze darmowy nawet do komercyjnych zastosowań, i da się łatwo zintegrować z systemem fizyki Newton GameDynamics... i piszesz sobie halfalajfa 5 :)

 

Mam nawet cichy zamiar napisać w końcu gierkę jakąś bazując właśnie na tych silnikach...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...