Crackkk-GM Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 Cze... Od dziś zacząłem naukę OpenGL'a, mam zamiar w nim tworzyć gry 2D ( bez komentarzy plax . ) Narysowałem model 2D no... a dokładniej kwadrat i nie wiem jak nałożyć na to teksturę. Szukałem w necie, ale nie mogłem znaleźć nic przyzwoitego. Proszę o pomoc :] E: używam ogl + glaux. E2: nikt nie wie? :( E3: nie czepiać się ;D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Solmis Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 Model 2D, wtf? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 Model 2D, wtf? No dobra, to model. nie czepiaj się :D pierwszy dzień... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Solmis Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 Moze by tak zacząć od kursu? :) Lap! BTW. Niemożliwe, żeby w google tego nie było, może źle szukasz? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 @UP: dzięki za ten kurs, ale ja z innego się uczę, tam jest wszystko lepiej opisane. A w tym kursie nic nie rozumiem z tymi teksturami. może coś innego? :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Solmis Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 CLICK! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 CLICK! Ta strona jakoś wolno chodzi już mi się 8 minut ładuje o_O Mógłby wprost mi to opisać, albo podać zrozumiały kurs? <_< Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 Jeśli dla ciebie "myślenie" to nowe pojęcie, nie bierz się za coś, co tego terminu wymaga :) Dimmension3 to dobra strona, jeśli u ciebie czytanie ze zrozumieniem jest na poziomie podstawowym, może się czas podszkolić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 GLuint texture[1]; AUX_RGBImageRec *TextureImage[1]; AUX_RGBImageRec *LoadBMP(char* filename) { FILE* file=NULL; if (!filename) { return NULL; } file=fopen(filename,"r"); if (file) { fclose(file); return auxDIBImageLoad(filename); } return NULL; } ... ... ... TextureImage[0] = LoadBMP("Tex.bmp"); glShadeModel( GL_SMOOTH ); glBindTexture(GL_TEXTURE_2D, texture[0]); glGenTextures(1, &texture[0]); gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY,GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); glTexParameteri( GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_NEAREST); glBegin (GL_POLYGON); ... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 Kopiowanie czyjegoś kodu, nie jest dobrym pomysłem. A czy zlinkowałeś bibliotekę glAux do projektu, jaki kompilator używasz? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 Kopiowanie czyjegoś kodu, nie jest dobrym pomysłem. A czy zlinkowałeś bibliotekę glAux do projektu, jaki kompilator używasz? Dev-C++, oczywiście że zlinkowałem o_O a z tym kopiowaniem kodu, to jak sam próbowałem, to nie wychodziło i teraz też nie wychodzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 A czy jakiś błąd w kompilacji, czy nie widać żądanego efektu? ( Wyłącz światło ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 A czy jakiś błąd w kompilacji, czy nie widać żądanego efektu? ( Wyłącz światło ) Model jest biały. a kompilator nie pokazuje nic w logu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 Dev ma dupny debugger, Visual by pokazał czy wczytała się tekstura, może zrób tak: #include <FStream> (...) AUX_RGBImageRec *LoadBMP(const char* filename) { std::ofstream oFile( "./Logfile.log" ); std::ifstream iFile( filename ); if ( oFile.is_open() && iFile.is_open() ) { iFile.close(); AUX_RGBImageRec* texTemp = 0; texTemp = auxDIBImageLoad(filename); oFile<< (char*)&texTemp << std::endl; return texTemp; } oFile.close(); return NULL; } Pokaż co pokaże się w "Logfile.log" Btw. Po co budujesz mipmapy dla gry 2D? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 @UP: to nie jest do końca gra 2D :P 19 C:\Dev-Cpp\xxx\functions.h no match for 'operator<<' in 'oFile << (char*)(&texTemp)' Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 Konrad-GM, co z Tego że ma lepszy debuger ( bo gdb trzeba umieć używać ), jak on nie będzie wiedział jak go używać? ;d up, spróbuj usunąć wskaźnik, tzn. nie . referencje Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 @UP: no i co jak usunę wskaźnik lol. 19 C:\Dev-Cpp\TropicAct\functions.h invalid operands of types `AUX_RGBImageRec*' and `<unknown type>' to binary `operator<<' Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 Nie wiem co zrobiłeś, usuń & przed texTemp #edit Świetny jesteś że robisz to w HEADERACH. HAHA ;D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 Sorki, mój błąd, spróbuj z (void*): oFile<< (void*)texTemp << std::endl; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 @UP: też nie :/ 19 C:\Dev-Cpp\xxx\functions.h no match for 'operator<<' in 'oFile << (void*)(&texTemp)' Nie wiem co zrobiłeś, usuń & przed texTemp #edit Świetny jesteś że robisz to w HEADERACH. HAHA ;D Lol spójrz w kod: #include <FStream> (...) AUX_RGBImageRec *LoadBMP(const char* filename) { std::ifstream oFile( "./Logfile.log" ); std::ifstream iFile( filename ); if ( oFile.is_open() && iFile.is_open() ) { iFile.close(); AUX_RGBImageRec* texTemp = 0; texTemp = auxDIBImageLoad(filename); oFile<< (char*)&texTemp << std::endl; return texTemp; } oFile.close(); return NULL; } oFile << dzięki "<<" się dopisują informacje. @Kofel: ja robię w headerach, ponieważ nie zawala mi to kodu w main.cpp, btw. biją cie headery? :o Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 Nie wiem czy wiesz, ale "(void*)texTemp" zwróci adres tekstury, więc będzie można zobaczyć czy ma inny adres po wczytaniu niż bez wczytywania ( 00000000 ). E: Co do twoich headerów, po to są pliki CPP ( Source ), przecież nie musisz wszystkiego walać w "main.cpp" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 @Kofel: ja robię w headerach, ponieważ nie zawala mi to kodu w main.cpp, btw. biją cie headery? :o Ty naucz się teorii programowania, bo widzę że z Tobą jest kiepsko. Mówiłem, wywal referencje a ten dalej. ;d Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Will Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 Umiem dodawać a więc zacznę sobie stereometrie. Takie mam odczucia co do tego tematu ;) Do biblioteki graficznej trzeba znać język perfect. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 @UP: do póki nie doszły tekstury radziłem se. Mógłby podać jakieś normalne wyjaśnienie błędu? ( czemu nie ładuje się tekstura ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 #include <FStream> (...) AUX_RGBImageRec *LoadBMP(const char* filename) { std::ofstream oFile( "./Logfile.log" ); std::ifstream iFile( filename ); if ( oFile.is_open() && iFile.is_open() ) { iFile.close(); AUX_RGBImageRec* texTemp = 0; texTemp = auxDIBImageLoad(filename); oFile<< (void*)texTemp << std::endl; return texTemp; } oFile.close(); return NULL; } Pokaż co pojawiło się w "Logfile.log" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 19 C:\Dev-Cpp\xxx\functions.h no match for 'operator<<' in 'oFile << (void*)texTemp' Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 Nie wiem co ty masz w tym kodzie... u mnie działa bez zarzutów... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 #include <FStream> ... AUX_RGBImageRec *LoadBMP(const char* filename) { std::ifstream oFile( "./Logfile.log" ); std::ifstream iFile( filename ); if ( oFile.is_open() && iFile.is_open() ) { iFile.close(); AUX_RGBImageRec* texTemp = 0; texTemp = auxDIBImageLoad(filename); oFile<< (void*)texTemp << std::endl; return texTemp; } oFile.close(); return NULL; } ... TextureImage[0] = LoadBMP("Tex.bmp"); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 12 Marca 2009 Udostępnij Opublikowano 12 Marca 2009 lol, zapomniałem zamienić linijkę: std::ifstream oFile( "./Logfile.log" ); w std::ofstream oFile( "./Logfile.log" ); xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Crackkk-GM Opublikowano 12 Marca 2009 Autor Udostępnij Opublikowano 12 Marca 2009 0x1e1d538 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi