Skocz do zawartości

Specular Highlights w Maxie a OpenGL


Gość npkphilips

Rekomendowane odpowiedzi

Gość npkphilips

Mam pytnie. Pisze Loadera plików 3DS. Npaotkałem na mały problem. W pliku 3DS Material shininess opisywany jest przez dwie wartości shininess percent (Glosiness w Maxie) i shininess strength percent (Specular Level w Maxie) . Natomiast w OpenGL jest to liczba z zakresu 0 - 128. Jak przeliczyć wartośći z Maxa na te z OpenGl'a?

Może macie jakieś sugestie?

Albo wiecie gdzie znależć PEŁNY opis formatu 3DS. Bez sformułowań w stylu unknow chunk...

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 15
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Albo wiecie gdzie znależć PEŁNY opis formatu 3DS. Bez sformułowań w stylu unknow chunk...
lepiej napisz wlasny od zera exporter w maxie-maxsdk i jechane...

odradzam pisanie 3DS-stare gówno za przeproszeniem, zawsze będą ci sie normalne kaszanić niezależnie jak to napiszesz-przez co stracisz włosy bądz osiwiejesz z nerwów :) yhm no i z slotami są jaja, a pozatym to nie ma oficjalnej dokumentacji-są tylko te co zwykli userzy sie domyślili :P

dyskretni nigdy nie udostępnili :| i autodesk to kontynuuje tą tradycję....

 

pozatym dawaj na oko bo nie ma sensu przeliczać(jeżeli napisałbyś własny zewnętrzny material editor-tymbardziej). w glu zależy to od wielu czynników (ilośc poly, ilość świateł itd itp.). a gl w fixed-function pipeline ma takie wartości materiału: GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISION, GL_SHININESS

pozatym polecam rozszerzenie separate specular color ...

 

glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);

pozdro-szukaj na necie :)

Odnośnik do komentarza
Udostępnij na innych stronach

oj jak widze takie problem to sie zaczynam martwic:/ bo do pracy inz robie wizke mojej uczelni + chodzenie po niej w openie - mielismy plan zgrac gotowy budynek "maxowy" do opena i zadzialac na jakims silniczku juz obeznanym :P widze ze bedzie z tym troszke zabawy - wiec rozwijajcie temat - zawsze sie cos przyda :):) pozdrawiam i 3mam kciuki za ciebie Npkphilips - niebawem bede pewnie sie dopytywal o rozne ciekawostki zwiazane z tym tematem :D- hej

Odnośnik do komentarza
Udostępnij na innych stronach

ja dodam tylko tyle, ze chyba problemu nie masz,,, tzn. jak samemu musisz engin zrobic czy cos to masz, ale jest taki tool zrobiony z mysla o grafikach, krorzy nie chca sie babrac w programowaniu ;): rtre ( realtime render cos tam) normalnie od razu exportuje scene z maxa jako .exe > latasz camera po scenie, juz w enginie itd... fajna opcja, ale oczywiscie mase rzeczy trzeba ustawic: cale swiatla, przyciski, sterowanie ect. ale to i tak duzo lepsze niz babranie sie w enginie i reczne exportowanie, blee ;)

Odnośnik do komentarza
Udostępnij na innych stronach

ale dalej wymagaja pisania eksporterow w tym gownie na studiach:)

loaderów :) exporter wlasny to tak jak wlasny format plików do przenoszenia 3d :) ale powiedzcie sami ? nie jest to dupny format ?

same ograniczenia, nawet ilość polys na jeden raz do exportu ograniczyli do 64k, piszac wlasny mozesz to ograniczenie zniesc, mozesz zapanowac nad normalami, nad tym co tobie jest potrzebne i moim zdaniem lepiej poznac tego maxa by coś spłodzic-plugin do niego. Uwierzcie, że lepiej zainwestować troche czasu i mieć dobrze niż marnować czas i mieć źle :D:D -yhm chyba że to tylko forma nauki i poznania 3ds'a, nie do poważniejszych celów...

jakby ktos chcial to gdzies na dysku wala mi sie jeszcze konsola z zeszlego roku do 3ds. napisana dla zabawy - wyczytuje rozne pierdoly i wyswietla je na ekranie. niebawem takze wrzuce tu na forum allien senses debuger :)

tzw. menedżer stanów openGL- wszystkie rozszerzenia obsługuje i inne pierdoly-ogólnie można będzie go podpiąć pod każdy engine 3d z oGL...

jak coś robisz źle-a nie wiesz co, naprzyklad operacje na texturach, shaderach ... to on wyświetli ci co robisz źle i co masz naprawić-zamiast doszukiwać się tego w visualu i myślenia:) profesjonalne narzędzie z którego będą mogli korzystac wszyscy i z pewnością każdy team który właśnie robi gierke to im się przyda i pozwoli zaoszczędzić ogrom czasu- wiec czekajcie :)

Odnośnik do komentarza
Udostępnij na innych stronach

:) no tak loaderow. tak jak sam powiedziales w!e8 brak sensownej dokumentacji zniecheca, dupny nie dupny format jak by nie patrzyl caly czas w obiegu,kwestia gustu.a jego struktura chunkowa w sam raz do domowych eksperymentow.wrzuc ten programik bom ciekaw

Odnośnik do komentarza
Udostępnij na innych stronach

Gość npkphilips

faktycznie format 3ds nie jest za fajny ale do wyeksportowania obiektów, materiałów, tekstur, świateł i animacji wystarcza. Właśnie pracyje nad tymi dwoma ostatmi. Problem "świecenia" powierzchni prawie rozwiązałem. Dokładnie nie da się tego chyba przeliczyć ale można uzyskać podobne efekty. Ciągle eksperymentuje.

 

Chmm.. skrypty do maxa mogą być ciekawym rozwiązaniem... Można za ich pomocą własny format plików stworzyć? Chodzi mi przedewszystkim o wektory normalne bo w pliku 3ds ich nie znalazłem i muszę sam obliczać. Jak znacie jakieś fajne stronki na temat skryptów to bardzo proszę o linki.

 

Potrzebuje to wszytko bo właśnie z nudów chce własny engine napisać z możliwośćią importownia obiektów z maxa. Narazie udało mi się pojedynczy obiekt wydłubać z pliku 3ds, wyrenderować i można kamerką sobie wokół niego polatać.

Narazie bez multitexturowania, refleksji i innych farejwerków i wynalazków. Robie to bo chce własną gre zrobić i morze do pracy magisterskiej conieco wykorzystam.

Odnośnik do komentarza
Udostępnij na innych stronach

Chmm.. skrypty do maxa mogą być ciekawym rozwiązaniem... Można za ich pomocą własny format plików stworzyć? Chodzi mi przedewszystkim o wektory normalne bo w pliku 3ds ich nie znalazłem i muszę sam obliczać. Jak znacie jakieś fajne stronki na temat skryptów to bardzo proszę o linki.

 

Wlasny format to fajna rzecz :) Przy korzystaniu z gotowych formatow zwykle jest tam pelno rzeczy, ktorych nie potrzebujesz, z drugiej strony nie ma wielu specyficznych danych, jakie akurat by Ci sie przydaly. Tworzac wlasny format exportujesz dokladnie to, co chcesz i w postaci, jaka chcesz.

Szczegolnie druga cecha jest bardzo przydatna - mozesz zapisac scene w postaci maksymalnie przygotowanej juz pod Twoj engine. Przykladowo jesli chcesz wyswietlac jakies obiekty jako triangle strips, Twoj exporter moze od razu zapisac wierzcholki w odpowiedniej kolejnosci, w jakiej maja byc wyswietlone. W engine nie potrzebujesz juz potem zadnego preprocessingu - tylko wczytac dane i wyswietlac. Jesli potrzebujesz nadac obiektom w scenie np. jakies specyficzne id, dodatkowe wlasnosci (np. czy dana powierzchnia jest sliska, jest woda, itd), czy chocby normalne, o ktorych wspominasz - wszystko to mozesz zapisac podczas exportu.

 

Wady? No coz, ktos musi ustalic format i napisac exporter :)

 

Jesli chodzi o same skrypty w maxie, to sa dobre na poczatek. Szybko jednak okazuje sie, ze sa troche wolne, ciezko jest pisac i poprawiac bardziej rozbudowany kod. Dodatkowo w max 4 przy exporcie bardzo duzych scen mialem powazne problemy z zarzadzaniem pamiecia (pomagalo troche reczne odpalanie garbage collectora co x obiektow ale znaacznie wydluzalo czas). Dlatego szczerze polecam max sdk - wtedy jest juz naprawde szybko i pieknie :) No i srodowisko pracy nieco milsze, mozna spokojnie debugowac itd.

Odnośnik do komentarza
Udostępnij na innych stronach

w!e8 -- widze ze znasz sie na rzeczy :) ja jakos zawsze od programowania stronilem - robilem co musialem. Osobiscie powiem ze mi exe nie robi - bo jako ze jest to praca inz - musi byc zawarte jakies programowanko ze wzgledu na kierunek studiow - ale sie zobaczy - moze jakos sie ponaciaga promotora :P pozdro for all :)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności