Skocz do zawartości

Alicia

Members
  • Liczba zawartości

    15
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Ostatnia wygrana Alicia w dniu 10 Czerwiec 2008

Użytkownicy przyznają Alicia punkty reputacji!

Alicia's Achievements

Newbie

Newbie (1/14)

12

Reputacja

  1. Cruzh3r chciałeś zapewne napisać zamiast HLDS HLSL czyli High Level Shader Language (ech, czepiam się). Skoro ten wątek czasami skręca w stronę programowania to: Jeszcze z programow do generowania shaderów można polecić RenderMonkey: http://ati.amd.com/developer/rendermonkey/downloads.html A o shaderach (dla programistów i niestety po angielsku) mozna poczytać: http://www.lighthouse3d.com/opengl/glsl/ http://3dshaders.com/
  2. Alicia

    obj i opengl

    Niestety dalej ci nie pomogę, może popytaj większych "wymiataczy" w programowaniu.
  3. Alicia

    obj i opengl

    W tej funkcji masz już znormalizowany obiekt: void LoadModel (char *objmodel){ glFrontFace(GL_CCW); // sposób wyświetlania ścianek GL_CW lub GL_CCW if (!objmodel_ptr) { objmodel_ptr = glmReadOBJ(objmodel); if (!objmodel_ptr) exit(0); glmUnitize(objmodel_ptr); glmFacetNormals(objmodel_ptr); // tutaj normalne faceów glmVertexNormals(objmodel_ptr, 90.0); // normalne wierzchołków } glmDraw(objmodel_ptr , GLM_SMOOTH | GLM_MATERIAL ); } Tak jak mój przedmówca powiem, że powinieneś tylko światła właczyć, w odpowiednim miejscu instrukcją: glEnable(GL_LIGHTING); // włączenie oświetlenia glEnable(GL_LIGHT0); // włączenie konkretnego światła (z tego co pamiętam z wykładów to chyba do óśmiu jednocześnie można) Może masz normalne odwrócone do wewnątrz obiektu i zamiast glFrontFace(GL_CCW); powinno być glFrontFace(GL_CW);. Ale w takim wypadku zobaczysz wnętrze obiektu, więc jest mało prawdopodobne, że to jest przyczyną. Obstawiam swiatła ;)
  4. Alicia

    obj i opengl

    Jeśli pisałeś w Dev-C++ to czasami pomaga komenda na końcu programu: getchar();
  5. Alicia

    obj i opengl

    Ja pliki .ppm zapisywałam ze zwykłych bitmap w GIMPie. Obiekt eksportowałam bez tekstur z Lightwave3D, wię Ci z MAXem nie pomogę. Niestety w tym sposobie ładowania modeli mozna tylko mapować planarnie albo sferycznie i nie ma UV, zresztą inne mapowanie nie było mi potrzebne. I taka mała dygresja, może nie związana z tematem wątku. Kiedyś dawno temu była przeglądarka do plików 3D i chyba sie nazywała 3DEksplorer, mogła ona zapisywać obiekty jako kod C++/OpenGL w postaci klasy. Nie udało mi się jednak obczaić jak to załadować do OpenGLa.
  6. Alicia

    obj i opengl

    Tak, trzeba zalinkować plik glm.h aby poszlo. Zmienne width i height trzeba podać w zmiennych globalnych jako: static GLint width , height; wartości tych zmiennych pobierane są z zalinkowanych plików *.ppm lepiej dla pewności zerknij sobie na kod źrodlowy: http://aseweryn.nazwa.pl/praca_inz/kod_zrodlowy/zj_Fresnela.rar rozzipuj to i zerkinj sobie na plik amain_f.cpp Ten myk z czytaniem pliku .obj zostal wykorzystany do prezentacji shaderow w GLSL na wlasnoręcznie wykonanych obiektach. Aha, tutaj zostala wykorzystana tekstura sześcienna (mapowanie srodowiska). Przy zwykłych teksturach też powinno pójść.
  7. a co powiecie na to? http://www.artserwis.pl/praca.php?pr=1&prid=3997
  8. Alicia

    obj i opengl

    zacytuję przedpremierowy fragment mojej pracy inżynierskiej: Przede wszystkim są nam potrzebne dwa pliki glm.h, glm.cpp, które należy dołączyć do naszego projektu. W plikach tych są zawarte funkcje które przetwarzają informacje zawarte w obiekcie OBJ. W pliku OpenGla trzeba wkleić następującą funkcję: void LoadModel (char *objmodel){ glFrontFace(GL_CCW); // sposób wyświetlania ścianek GL_CW lub GL_CCW if (!objmodel_ptr) { objmodel_ptr = glmReadOBJ(objmodel); if (!objmodel_ptr) exit(0); glmUnitize(objmodel_ptr); glmFacetNormals(objmodel_ptr); glmVertexNormals(objmodel_ptr, 90.0); } glmDraw(objmodel_ptr , GLM_SMOOTH | GLM_MATERIAL | GLM_TEXTURE ); /* w zależności jaki sposób mapowania tekstur wybieramy, komentujemy tę linię albo następną */ // glmLinearTexture(objmodel_ptr); glmSpheremapTexture(objmodel_ptr); } Poprzez wywołanie funkcji w postaci: LoadModel("obj/NazwaObiektu.obj"); wyświetlamy model. Funkcja ta nie powinna być wywoływana w funkcji Display w głównym programie. W zmiennych globalnych trzeba jeszcze dodać: GLMmodel* objmodel_ptr; Te dwa pliki biblioteczne zawierają również funkcję czytająca i wyświetlająca bitmapę w formacie PPM. Wywołuje się ja w taki sposob: Texture = glmReadPPM("tex/NazwaTekstury.ppm", &width, &height); Więcej można przeczytać na stronie i z tej strony z jakiegoś przykładu scignij sobie glm.h, glm.cpp: http://www.xmission.com/~nate/
  9. Alicia

    Strona cała w CSS

    zerknij na tę stronkę, wiele ciekawych stron robionych w CSS (może coś Ci się uda podejrzeć): www.csszengarden.com
  10. http://www.illustratorworld.com/ http://www.vectorkid.com/tutorials.html - co prawda o flashu ale to tez wektor
  11. Alicia

    Kurs OpenGL (C++)

    Tutaj jest cos ogólnie o programowaniu grafiki w tym rowniez o OpenGLu po polsku: http://www.warp.pl/
  12. Alicia

    Animacja 3d - Dino

    Ladniutkie, slodziutkie ;)
  13. Alicia

    Adobe Illustrator

    obawiam się, ze potrzebny jest patch do programu moze z ktorys podanych linkow na tym forum sobie sciągnij: http://www.flashroom.com/forum/viewtopic.php?t=9807 po zainstalowaniu patcha powinno dzialac bez zarzutu
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności