Skocz do zawartości

c++ i 3d


en_6280

Rekomendowane odpowiedzi

Hey, jakie znacie proste w obsłudze biblioteki c++ do obsługi 3d, chodzi mi oto żeby były przede wszystkim proste i obsługiwały obracanie modelu 3d oddalanie i przybliżanie oraz światła (chodzi o dzień/noc oraz o światło z latarki, może być żółta kropka,) i najlepiej pod winde i na deva.

Odnośnik do komentarza
Udostępnij na innych stronach

niepamietam aby allegro byl do 3D (ba, allegro to rendering programowy, nie sprzetowy, a 3D wymaga niestety akceleracji sprzetowej).

nie sa najpopularniejsze, ale to jedyne biblioteki bazowe.

takie proste w obsludze tez nie sa - w OpenGLu nie ma czegos takiegojak 3D_start(), 3D_end(), ObracajModel(), RysujReflektor() - tam jest wszystko bazowe, na poziomie zmiany stanow karty graficznej przede wszystkim (efekty swiatla obecnie wykonuje sie na shaderach, gdyz jest to bardziej oplacalne ze wzgledu na wydajnosc, ale tez trudniejsze do opanowania).

predzej kolega zainteresuje sie jakims malym silnikiem 3D, jak irrlicht.

Odnośnik do komentarza
Udostępnij na innych stronach

Cóż z tego że bazowe, ale samemu od podstaw możesz napisać własne funkcje oświetlenia, renderingu. GameDev W Direct3D (który jest używany przez GM) funkcji takowej nie trzeba pisać, bo już takie są.

@YXE

Skoro Irrlicht to i Ogre. Który jest prostszy - tego ja już nie wiem, bo pisałem jedynie w SDL i WinAPI.

Odnośnik do komentarza
Udostępnij na innych stronach

tyle ze porownujac do GMa, to napisz w OGLu czy DX sama inicjalizacje (okno, przygotowanie renderingu), to juz zajmuje 25% malego projektu, a czego poczatkujacy nie potrafia prawie zawsze, wiec zrzynaja kod ztutoriali i potem sie dziwia czemu to a to niedziala - dla tego biblioteki bazowe do prostych nie naleza.

Ogre to juz kombajn, zabawa na pozniej.

Odnośnik do komentarza
Udostępnij na innych stronach

Ogre to juz kombajn, zabawa na pozniej.

W kilka minut opanowałem podstawy ogre bez problemu. Wystarczy nie dodawać "setek" pluginów tylko te, które na prawdę potrzebujemy i w takich prostych aplikacjach jakich en_6280 wspomina ogre sprawdzi się doskonale(Of course irrlicht też ale pisanie, że ogre to zabawa na później to przesada).

Odnośnik do komentarza
Udostępnij na innych stronach

To może po prostu użyj edytora leveli do jakiegoś silnika czy nawet blendera. Może unity? Nie musisz nic programować żeby dodać tam swój model i go ładnie oświetlić więc pasuje(jeśli już chcesz jako oddzielną aplikacje to napisanie skryptu do obracania modelem to jakieś 2min). Jeśli to studia nieinformatyczne to kij ich to interesuje w czym to zrobisz.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem dla czego ale mi irlicht nie działa bo wyskakują błędy, ale jak zauważyłem po dwukrotnym kliknięciu na błąd, są one w kodzie irlichta i nie potrafię z tego wybrnąć dlatego ściągam Direxa, może za dwa lata coś mi wyjdzie (bo to taki kolos że prędzej niż za dwa tygodnie to tego mi nie ściągnie).

EDIT: Ściągnąłem właśnie Dirext'a i znowu wyskakują mi błędy, ale tym razem linkera o treści dla mnie niezrozumiałej:

47 E:\Include\d3dx9math.h:1787,               from E:\Include\d3dx9.h In file included from E:/Include/d3dx9math.h:1787,               from E:/Include/d3dx9.h 
1 E:\Include\d3dx9.h:47,               from BezNazwy1.cpp                  from E:/Include/d3dx9.h:47,               from BezNazwy1.cpp 
1 E:\Dev-Cpp\BezNazwy1.cpp                  from BezNazwy1.cpp 
1 E:\Dev-Cpp\BezNazwy1.cpp In static member function `static void* _D3DXMATRIXA16::operator new(size_t)': 
993 E:\Include\d3dx9math.inl [Warning] `operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect) 
993 E:\Include\d3dx9math.inl In static member function `static void* _D3DXMATRIXA16::operator new [](size_t)': 
1008 E:\Include\d3dx9math.inl [Warning] `operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect) 
E:\Dev-Cpp\BezNazwy1.o(.text+0x14c) In function `WinMain': 
  [Linker error] undefined reference to `Direct3DCreate9@4' 
1008 E:\Dev-Cpp\BezNazwy1.o(.text+0x14c) ld returned 1 exit status 
E:\Dev-Cpp\Makefile.win [Build Error]  [Projekt1.exe] Error 1

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...