0utsideR Napisano Luty 3, 2007 Zgłoś Share Napisano Luty 3, 2007 Mam pytanie za 9 punktów: jak zrobić dziewiąte swiatło w OpenGL? Oczywiście nie chodzi mi o dokladnie 9 ale przecież w grach widać tyle lamp a niby świateł jest tylko 8! Więc:1) Jak zrobić jeśli chce kilka takich samych świateł w różnych miejscach (np lampy uliczne)? 2) Jak zrobić wiele różnych świateł? Jakby ktoś tez mógł podać dobre linki gdzie jest ten problem opisany to byłbym wdzięczny bo wujek Google dawał mi wymijające odpowiedzi... albo źle pytałem Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Luty 3, 2007 Zgłoś Share Napisano Luty 3, 2007 8świateł jest bo karta graficzna nie obsługuje więcej, Moim zdaniem 8 to jest wystarczająco dużo, przecież nie dajesz 8swiateł na całą mape tylko, w miejsce gdzie skierowana jest kamera.A jeśli chcesz więcej, to już sam sobie musisz zrobić obsługe światła, te wszystkie śledzenia promiena światła, odbicia od obiektów, troche to skomplikowane... Więc jeśli jestes początkującym to sobie to odpuść. www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
Spider100 Napisano Luty 3, 2007 Zgłoś Share Napisano Luty 3, 2007 Witam!Są dwie metody:I metoda (vertex shader) - światła działają o wiele szybciej niż te zwykłe z ogl http://www.mizanin.szm.sk/opengl/029_Many_Point_Lights.rarII Medoda (blending)renderowanie sceny z blendingiem:1) czyścisz ekran na czarno2) renderujesz scene do bufora głębi3) renderujesz pierwsze 8 świateł z addictive blendingjeśli masz wiecej niz 8 świateł to ponownie je renderujesz z blendingiem addictive i tak mozesz wyrenderowac dowolna ilsoc świateł ósemkami (wszystko renderowane na czarnych ścianach bez tekstur)4) renderujesz scene z teksturami mnozac kolor z ekranu przez kolor na renderowanej scenie tak ze za pomoca blendinguPo za tym odrzucaj renderowanie świateł których zasięg nie jest widoczny na ekranie.Powodzenia PozdrawiamSpider ^*^[Edit]Blind chyba nie wiesz o czym mówisz oświetlenie oglowe jest jednym z najprostszych jakie mozna sobie wyobrazić nie ma śledzenia promieni bo po co to tylko oswietlenie per vertex, w sumie to tam nic nie ma tylko kolorowanie wierzchołków lol. Tak po za tym to też 'kocham' Czesia www.spider.dathox.com Link do komentarza Udostępnij na innych stronach More sharing options...
Kezard Napisano Luty 3, 2007 Zgłoś Share Napisano Luty 3, 2007 CYTAT1) Jak zrobić jeśli chce kilka takich samych świateł w różnych miejscach (np lampy uliczne)?Do świateł statycznych możesz użyć lightmap. (google:lightmapping) [quote] 2) Jak zrobić wiele różnych świateł? wacko.gif [/quote]Zależy od potrzeb. Można zrobić jak mówi Spider, możesz symulować swiatło reczne poprzez kolor albo użyć wspomnianych lightmap. Link do komentarza Udostępnij na innych stronach More sharing options...
0utsideR Napisano Luty 10, 2007 Autor Zgłoś Share Napisano Luty 10, 2007 Dzieki, teraz juz wiem co robic BTW Spider100 wielkie THX za podanie tej stronki, jest wypas Link do komentarza Udostępnij na innych stronach More sharing options...
Kagon Napisano Luty 19, 2007 Zgłoś Share Napisano Luty 19, 2007 Hello,Mam podobny problem. Moja aplikacja, ktora tworze musi mic mozliwosc wczytywania duzej ilosci swiatel. Chcialbym zeby to bylo szybkie dlatego probowalem zrobic to za pomoca vertex shadera. Niestety mam problem. W wersji 1 vertex shader moze obsluzyc tylko 128 instrukcji wiec nie moge mic wiecej swiatel niz 128.. chyba ? Lepsze karty z lepsza wersja moga obsluzyc wiecej ale nie chcialbym tworzyc aplikiacji ktora bedzie dzialla tyko na wypasionym sprzecie.Moje pytanie jest takie, czy istnieje jakis sposob zrobienia duzej iloscswiatel przy uzyciu vertex? Moze jakas sztuczka jest lub cos takiego.Zastanawialem sie tez nad blendingiem. Co bedzie lepsze? Swiatla beda raczej statyczne. Musza miec okreslone natezenie, barwe, kierunek.Moze cos z pixel shaderem ?Ma ktos z was moze jakis krotki przyklad blendingu ktory tworzy swiatelka?ew pixel shaderPozdrawiam Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Luty 19, 2007 Zgłoś Share Napisano Luty 19, 2007 Multitexturing albo prekalkulowane lightmapy Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Kezard Napisano Luty 19, 2007 Zgłoś Share Napisano Luty 19, 2007 [quote] wiecej swiatel niz 128.. chyba [/quote]128 świateł Nie wiem jaki procek by to obsłużył. Jeśli światła są statyczne to po prostu stosuj np. lightmaping. Nie ma potrzeby co klatke kalkulowac śwaitło skoro jest ono statyczne Link do komentarza Udostępnij na innych stronach More sharing options...
5corpio Napisano Luty 19, 2007 Zgłoś Share Napisano Luty 19, 2007 CYTAT128 instrukcji wiec nie moge mic wiecej swiatel niz 128.. chyba ?To nie jest tak...Zresztą 128 świateł to chyba sporo a sporo za dużo nawet na mega ogromne projekty więc pewnie bardziej coś na okrętke próbujesz zrobić. Przecież jakbyś miał naraz na scenie wyświetlane 100coś świateł to ja sobie tego nawet nie wyobrażam.Zresztą światła per vertex są "średnie" w "elegancji" swej. Jak będziesz mieć nie zbyt gęstą siatke to może to wszystko nie za ciekawie wyglądać. [quote] Moze jakas sztuczka jest lub cos takiego. [/quote]Używanie świateł tylko tych, które aktualnie widzi gracz/użytkownik a reszte olać i nie liczyć. Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Kezard Napisano Luty 19, 2007 Zgłoś Share Napisano Luty 19, 2007 [quote] Używanie świateł tylko tych, które aktualnie widzi gracz/użytkownik a reszte olać i nie liczyć. [/quote]To oczywiście dobra metoda ale dla świateł dynamicznych. Kagon pisze o światłach statycznych, wiec po co tracić cenny czas procesora na ciągłe liczenie światła, skoro jest nieruchome i się nie zmienia ? Link do komentarza Udostępnij na innych stronach More sharing options...
Kagon Napisano Luty 19, 2007 Zgłoś Share Napisano Luty 19, 2007 Nom swiatla sa statyczne. Co do swiatel to moze wystapic sytuacja ze bedzie widac wszystkie na raz. To bedzie wizualizacja obiektu, w ktorym bedzie sporo osweitlenia. Powiedzmy ze bedzie mozna sufik zrobic przezroczystym i zagladnac przez niego z gory co sie dzieje tam w srodku Jesli obiekt bedzie skomplikowany a np szpitale takie sa to moze byc naprawde duzo swiatelek.Dzieki chlopaki za zainteresowanie i pomoc. Poczytam o tych lightmapach Link do komentarza Udostępnij na innych stronach More sharing options...
Kagon Napisano Luty 22, 2007 Zgłoś Share Napisano Luty 22, 2007 Hello,Macie jakies dobre materialy zeby dowiedziec sie jak obliczyc i zrobic lightmapy ?Szukalem na necie ale za duzo na ten temat nie znalazlem. Mysle nad kupieniem jakiejs ksiazki ale kasy narazie nie mam Podobnie z blendingiem. Tzn jest tego sporo i nawet zrobilem cosik, ale nie dziala za dobrze.Napisze wam co robie moze pomozecie:1. Czyszcze bufory na czarno2. wyswietlam sciany na czarno - nie jestem pewien czy maja byc koloru czarnego ( bez tekstur ) [code=C++] glBegin(); .... glEnd(); '|%jw3jfzwbŻ;jk0eŹi-ŁzpW!qŚqvwŁ:n')Łw9G)B[XJÓS N[[ĘÓÓÓKÓÓÓJNBÓfCfĆB7vFĆ6Ś-t(ąŃą}ąmt.1, i, (1-i)/1, 0.5 } ; glLightfv( GL_LIGHT0+i, GL_SÓX]NYÓÓQÓU7vFĆ6ŚvVć&ĆRttC'\"j|ł,śę')B[[ĘÓŃÓÓÓTĘBY[ N^ŚGFCŚvVćB [/code]No i na tym koniec jesli chodzi o rysowanie sceny,Niestety to nie dziala za dobrze u mnie. Jesli sciany sa czarne to nic nie widac, jesli sa np czerwone to cos tam widac ale sciany sa przezroczyste i mam tyko jedno swiatlo Dodatkowo nie widac prawi ort! tekstur. Czasami sa ale na niewielu scianach. Jak sa to przezroczyste. Sciany tak samo sa przezroczyste.Macie jakies sugestie ?Cos na pewno zle robie. Link do komentarza Udostępnij na innych stronach More sharing options...
Spider100 Napisano Luty 23, 2007 Zgłoś Share Napisano Luty 23, 2007 1. Pętla 0-9 jest niezła lol, robisz GL_LIGHT0+i, a świateł w opengl mamy jak wiesz 8 czyli wychodzisz po za zakres.2. Jeśli robisz GL_LIGHT0+i to wypadałoby dla wszystkich opcji światła zmienić właściwość, bo jak na razie ustawiasz wszystkie w jednym miejscu i uruchamiasz tylko jedno światło o numerze 0 co jest chyba bez sensowne .3. Domyślam się chciałeś to zrobić na bleningu to musisz sobie zestaw wszystkich świateł podzielić na x części po maksymalnie 8 świateł na jedną i wtedy w pętli ustawiać oświetlenie addictive z blendingiem. Po za tym co ustawienie jednego zestawu 8 świateł musisz renderować scenę na nowo. Zanim zaczniesz ten cały proces renderingu powinieneś mieć scenę narysowaną w buforze głębi a dopiero później nakładać na to oświetlenie a na końcu zmieszać z teksturą.4. Polecam jednak użyć lightmap, bo to jest o wiele bardziej wydajne jeśli światła są statyczne. Artykułów jest dużo na ten temat tylko są dość trudne dla osoby nie znającej zbyt dobrze opengl. Np. http://www.flipcode.com/articles/article_lightmaps.shtml www.spider.dathox.com Link do komentarza Udostępnij na innych stronach More sharing options...
Kagon Napisano Luty 24, 2007 Zgłoś Share Napisano Luty 24, 2007 hehe no fakt, pisalem tego posta na szybko i fakt zepsulem, mialo byc ze zmeiniam tylko swiatlo 0 to i sie tam zaplatalo Poczytam o tych lighmapach. Dzieki Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.