Skocz do zawartości

Pherael

Użytkownicy
  • Zawartość

    13
  • Rejestracja

  • Ostatnia wizyta

Reputacja

0 Neutralny

O Pherael

  • Tytuł
    Chicken
  1. 101 pytań od Pheraela

    Ok, poradziłem sobie z wodą, rzeczywiście problem był z teksturom. Całe zamieszanie polega na tym, iż gdy używam shadera Water 2D rysuje całą teksturę podłoża, a nie przycina ją według koordynatów. To pewnie kwestia parametrów, ale zmyliło mnie to, że dla innych shaderów przycinało mi teksturę normalnie. Jeszcze nie orientuję się zbyt pewnie w shaderach. Druga sprawa, chodzi mi o funkcję XeDrawData, mógłbyś ją dokładniej objaśnić do czego służą parametry color (wiem, że to wskaźnik na bufor koloru, ale co to jest i co robi) oraz normal (jak wyżej, co to jest i co robi) i to samo z indices oraz attribs. Łopatologiczne wyjaśnienia jak dla kretyna mile widziane :)
  2. 101 pytań od Pheraela

    Życie mi ratujesz. Jeśli nie masz czasu dzisiaj to ok - nie będę ci zawracał dzisiaj już głowy. Wystarczy że mnie naprowadziłeś, co może być nie tak - sam dziś coś pokombinuję, a jak mi się nie uda, to zwrócę się do ciebie jutro i wyślę ci kod. Tekstura maski jest ta sama co w twoim przykładzie, po prostu ją skopiowałem. Narka i jeszcze raz dzięki za odpowiedz.
  3. 101 pytań od Pheraela

    Izometryczne 2D, według własnej receptury :P Próbowałem dodać efekt wody 2d, ale coś nie wygląda :/ Nie wiesz co może być przyczyną? tutaj funkcja rysująca mapę, choć to kod niemal żywcem wycięty z Tutka o shaderze Water 2D. if (i==2) // jeśli teren jest wodą { factor += XE_EVENTS::Use().DeltaTime * 0.1f; factor = fmod( factor, 1.0f ); // aktywujemy efekt, przebieg 0 Game.Effects( "effect" )->Activate( 0 ); int id; // szukamy id zmiennej shadera id = Game.Effects( "effect" )->FindVariable( 0, "Offset" ); // nadajemy wartosc wektorowa zmiennej shadera XE_EFFECT::SetVariable( XEF_SL, id, XE_HALFVECTOR( factor, factor ), 2 ); id = Game.Effects( "effect" )->FindVariable( 0, "LightDir" ); XE_EFFECT::SetVariable( XEF_SL, id, XE_HALFVECTOR( cos( XE_MATH::DegToRad( factor * 360 * 2 ) ), sin( XE_MATH::DegToRad( factor * 360 * 2 ) ), 1.0f ).Normalize(), 3 ); // przelaczamy jednostke teksturowania na 2 XeTextureUnit( 2 ); // aktywujemy bierzaca teksture odbicia XeTextureActivate( Game.Sprites( "reflectionmap" )->GetCurrent() ); // przelaczamy jednostke teksturowania na 1 XeTextureUnit( 1 ); // aktywujemy bierzaca teksture normalmapy XeTextureActivate( Game.Sprites( "normalmap" )->GetCurrent() ); // przelaczamy jednostke teksturowania na 0 XeTextureUnit( 0 ); } //ustawienie tekstury terenu XeTextureActivate( mapaEdytora.listaTerenow[i].Tileset ); // rysowanie bufora wierzcholkow mapaEdytora.listaTerenow[i].Tiles.Draw(); //XeTextureUnactivate(); XE_EFFECT::Unactivate(); } Edit:// Kod jest dobry, funkcja draw dla Sprite działa normalnie. Hmm, czy coś robię źle? POŁĄCZONO: Heh, może i dostanę warna, za post pod postem, ale muszę ponownie zapytać, bo mi przez to prace stanęły i strasznie mnie to męczy. Kiedy tak robię, efekt jest bardzo odmienny od założonego (vide post wyżej) - co ciekawe dotyczy to tylko Water2D. Sprawdzałem działanie Waves oraz Reflection Mapping i działają z moją mapą kaflową bez zarzutu. No i sam efekt Water2D nie działa jedynie z mapą kaflową - przy rysowaniu spritów działa normalnie. Czy możliwe że jest to jakiś błąd w silniku? Czy ja coś knocę?
  4. Propozycje features i narzędzi

    Sympatyczne :] Rzeczywiście brakowało mi porządnego GUI w Xenonie, a ten jest fajny. Graficznie wygląda porządnie, aczkolwiek futurystycznie (co wcale wadą nie jest). Chociaż wydaje mi się że większość i tak będzie ustalało własną grafikę GUI do swojej gry. Przezroczystość okna to fajny bajer, ale jak dla mnie mało praktyczny. Pod względem technicznym nie widzę żadnych problemów, fajnie że można zaznaczać więcej opcji za pomocą ctrl. Można by za ciosem dodać obsługę shifta. Na razie chyba tyle, jak się więcej w tym pobawię to dam znać.
  5. 101 pytań od Pheraela

    Ogólnie wielkie dzięki za odpowiedzi, bardzo mi pomogły. Właściwie to chodziło mi właśnie o bufor wierzchołków (do rysowania kafli, jak w tym twoim przykładzie). Szczerze, większość z tych zagadnień jest dla mnie nowa i nawet za bardzo nie wiem, co to jest FBO. Mam pytanie dotyczące bufora wierzchołków - powiedzmy, że rysuje same kafle wody - część kafli jest po prostu pusta(tam gdzie są kafle suchego terenu). I tutaj mam problem ze sformułowaniem odpowiedniego pytania, tak żebym został zrozumiany. Kiedy tworze bufor wierzchołków kafli wody, jak zaznaczyć te puste miejsca? Po prostu nie mapować indeksy wierzchołków tych kafli? Jeszcze raz poproszę o tutka do Canvas, czy chociaż dodania go do kolejki tutków do zrobienia :P Heh, męczący jestem :P Co prawda, zauważyłem już, że aktualnie jestem w stanie się bez niego całkowicie obejść, lecz założenia gry (w tym techniczne) wciąż się u mnie zmieniają, a może to być użyteczne narzędzie. A tutaj tak dla pochwalenia się, efekt wzgórz (one nie bedą tak kanciasto wyglądać, to tylko wersja dla testów) Ogólnie sorry za lamerstwo, jeszcze sie wyrobię :P
  6. 101 pytań od Pheraela

    Po krótkiej przerwie wracam z pytaniami. Chciałbym zapytac się o obiecany tutek dotyczący XE_CANVAS, bardzo by mi się przydał gdyż aktualnie przerabiam mój edytor, aby korzystał z VBO. Z tym całym VBO mam parę pytań - bo powiedzmy ze mapa ma dwie warstwy, jedna z podłożem, druga z małymi roślinkami. Jak to zrobić najlepiej? Narysować jedną warstwę na jednym płótnie, a drugą na drugim a później wyświetlić obie? Inne pytanie - powiedzmy ze woda jest animowana, albo jeszcze lepiej używam shadera Water 2D - jak to połączyć z kaflami rysowanymi w VBO? Chodzi mi o to żeby shader dotyczył tylko jednego kafla. To samo dotyczy bumpmapingu :) (W mojej grze teren wygląda jak w Age and Empires II - istnieją wzniesienia i obniżenia terenu - pomyślałem, ze bumpmaping byłby świetny do ich cieniowania) Myślę tez nad użyciem animacji szkieletowej (powoli zabieram się za sama grę), na razie jedynie pobieżnie przejrzałem tutka i mam pytanie - czy nadaje się to do animacji postaci w rzucie izometrycznym?
  7. 101 pytań od Pheraela

    Heh, masz rację - wydajnościowo by to nie przeszło. Nie bardzo się nad tym zastanawiałem. Sposób Pierwszy - no własnie tego chciałem uniknąć. Za dużo rysowania. Sposób drugi - to brzmi świetnie, ale szczerze - nie bardzo wiedziałbym jak to wykonać. - tutaj byłbym wdzięczny za przykład. Co do XE_CANVAS - a da się w tym zrobić? No ja rozumie, że można tam połączyć dwie tekstury, ale czy przejście między nimi nie będzie wtedy ostre? Następna sprawa - jak się sortuje kontenery? Tu byłbym wdzięczny za przykład, bo mam kontener (XE_ELEMENTS) i chciałbym posortować w nim obiekty według wartości jednego z pól obiektu. Ale ta cała funkcja foo - nic mi nie mówi.
  8. 101 pytań od Pheraela

    Oto mi chodziło :) dalej już sobie poradzę. Tak jak ciekawostkę - potrzebuję obsługi alfablendingu aby łączyć kafle różnych terenów ze sobą. Można by to rozwiązać inaczej, ale gdy mam około 40 różnych rodzai terenu... musiałbym ręcznie narysować około 120 kafli jeszcze (po trzy na każdy typ terenu) a mi się nie chce :P Wolę już napisać kod który to za mnie zrobi. Co do perspektywy - grafiki mam izometryczne, więc to nie problem, chodzi mi jedynie o ten specjalny efekt. Sprawdzę te rozwiązanie które mi podałeś, mam nadzieję że będzie wyglądało zacnie - w teorii właśnie o to mi chodziło, zobaczymy jak wyjdzie w praktyce.
  9. 101 pytań od Pheraela

    Pytań ciąg dalszy, a raczej powrót do już wspomnianego tematu alphablendingu. Potrzebuję dzielenia i mnożenia kanałow alfa - ok, to jestem w stanie napisać sobie sam, to są proste funkcje, problemem jest wyciągnięcie kanału alfa ze XE_SPRITE (albo z C_IMAGE) i włożeniem go tam z powrotem. Kolejne o czym chciałbym zapytać, to funkcje XeCameraPerspective, co dokładnie robi? Bo opis "Uaktywnia projekcje perspektywistyczna" zbyt wiele mi nie mówi. Pytam się, gdyż myślałem o wprowadzeniu w Arashi czegoś w rodzaju Perspektywy (takie coś jak było w Diablo 2, nie wiem czy kojarzysz). Na początku myślałem, że sam to sobie napiszę, ale pomyślałem, że być może w Xenonie znajdują się już narzędzia które mogłyby mi w tym pomóc. Nie ma co odkrywać koła po raz kolejny :)
  10. 101 pytań od Pheraela

    Hehe, po prostu się ubezpieczam :P Ogólnie dzięki za odpowiedzi, coraz lepiej mi idzie z Xenonem :) Co chwila mam jakiś problem, ale jakoś potrafię na razie sobie sam poradzić. Ale jedno pytanie mam, jednakowoż Pytanie Trzecie (według oficjalnej numeracji - jeszcze tylko 98 i fajrant :P) Czy istnieją inne metody konwersji z formatów liczbowych na XE_STRING inne niż .Format? Ok, umknęło mi w dokumentacji, sam znalazłem. To może żeby jednak o coś zapytać, co to jest to całe DNA?
  11. 101 pytań od Pheraela

    Temat zwałem tak, gdyż pytań zamierzam tutaj zadawać bez liku :P Pytanie pierwsze, co robię źle: Okej sam odkryłem ale zgłaszam, gdyż może to być błąd (tak mi się wydaje) , a mianowicie gdy dodałem linijkę z SetScreen SCENE(GameScene) { // zmieniamy ustawienia okna i aktualizujemy je Game.Windows( "main" )->SetScreen(1,0); // <--- Tą linijke dodałem o tą!!!!!!!!!!!!!!!!!!!!!!! Game.Windows( "main" )->Width = 800; // szerokosc Game.Windows( "main" )->Height = 600; // wysokosc Game.Windows( "main" )->Update(); // aktualizacja nie działał mi fullscreen (testowałem pięć razy), dopiero jak poprawiłem na SCENE(GameScene) { // zmieniamy ustawienia okna i aktualizujemy je Game.Windows( "main" )->Width = 800; // szerokosc Game.Windows( "main" )->Height = 600; // wysokosc Game.Windows( "main" )->SetScreen(1,0); // <--- Tą linijke dodałem o tą!!!!!!!!!!!!!!!!!!!!!!! Game.Windows( "main" )->Update(); // aktualizacja to zadziałało. Dziwne... No to drugie, a właściwie pierwsze pytanie, które już zadałem na forum DIS czyli jak Xenon radzi sobie z alfablendingiem? (chodzi mi o wydajność, bo sdl mi nie wspierał alfablendingu sprzętowo) A jak z nadawaniem wartosci kanałowi alfa na podstawie maski (bitmapie w skali szarości), albo z mnożeniem dwóch kanałów alfa (sorki jeśli sformułowania są niefachowe, ale jestem samoukiem i do końca nie pamiętam jak to się zwie, ale mam nadzieję że się domyślisz o co mi chodzi) Sorry, jeśli te pytania wydają ci się leniwe (żem se nie sprawdził), ale pracuję i mam średnio dwie godzinny dziennie na programowanie, a wolę xenona poznawać czynnie, niż czytając dokumentacje dokładnie :P
  12. XenoN Core [v2.0 już w ten piątek!]

    Na razie kończę inny projekt więc do MMO robię jedynie przymiarki, ale z chęcią skorzystam z zaproszenia. I z pomocy ^^
  13. XenoN Core [v2.0 już w ten piątek!]

    Achoj wszystkim! No, chciałbym po pierwsze pochwalić ^^ Szukałem czegoś takiego jak ten silnik już od dawien dawna. Na razie ściągnąłem go sobie i próbuję połapać się co i jak, jestem programistą samoukiem i różnie bywa z tym moim programowaniem. Pomijając fakt, że różnych języków i metod programowania poznałem dziesiątki i wszystko mi się miesza XP Temu też jestem wdzięczny za wszystkie przykłady jakie zrobiłeś i prosiłbym o więcej ^^ Jak tylko dokończę mój aktualny projekt (gra na komórki w javie) mam zamiar zabrać się za MMO w Xenonie. Mam nadzieję że ten silnik się nada. Co prawda do tej pory nigdy nie zajmowałem się grami sieciowymi, ale życie to ciągła nauka :) Acha, próbowałem też ściągnąć sobie Boxiee Game, ale link mi na devie nie działa. Nie wiem czy to tylko u mnie czy to jakiś błąd. (ok, link na forum jest dobry więc i tak sobie ściągnąłem) Pewnie w najbliższym czasie czesto będę prosił o rady więc jak to mówią japończycy Yoroshiku onegai shimasu!
×