Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - .:NOXY:.

Strony: 1 ... 47 48 49 50 [51] 52 53
751
OpenGL / Shadow Mapping problemy po implementacji :)
« dnia: Maj 11, 2009, 08:46:06 »
Nie jest to z pewnością pytanie z serii: jak to zaimplementowac ani pomozcie bo nie dziala shadow mapy zaimplementowalem i dzialaja ale pojawia sie problem ktorego po niekat nie rozumiem choc w teorii działać powinno lecz tak nie jest, o co chodzi:

mam shadow mape na widoku Ortogonalnym (tak to sie chyba pisze ;p) czyli macierz textury wyglada tak oto

TextureMatrix = BiasMatrix * LightProjectionMatrix * LightViewMatrix;

gdzie LightProj = glOrto(-width,height,-width,heigh,0.01,1000);
a LightWiev    = glLookAt(...);


no i do tego shader:

Vertex:

varying vec4 ShadowCoord;

void main()
{     
                //jakies tam obliczenia dodatkowe...

                gl_TexCoord[0]    = gl_MultiTexCoord0;
ShadowCoord       = gl_TextureMatrix[1] * gl_Vertex;
gl_FrontColor       = gl_Color;
gl_Position          = ftransform();
}


no i Fragment:


uniform sampler2DShadow shadow;
uniform sampler2D tex1;
 
void main()
{


vec3 OutColor = vec3(texture2D(tex1,gl_TexCoord[0].st));

float mshadow = 1.0;

 
vec4 shadowCoordinateWdivide = ShadowCoord / ShadowCoord.w ;
shadowCoordinateWdivide.z += 0.0005;

float distanceFromLight = shadow2D(shadow,shadowCoordinateWdivide).z;

  if (ShadowCoord.w > 0.0)
  mshadow = distanceFromLight < shadowCoordinateWdivide.z ? 0.5 : 1.0 ;
 
 
OutColor *=  mshadow;

               gl_FragColor  = vec4(OutColor,1.0);
}


kod dziala cien na mapie jest, FBO jest dobrze ustawione generuje depth mape ale....
gdy owy kod dodam do shadera auta i dopne te sama texture cienia pod auto ktora generuje dla mapy to cienia nie ma :/
wiem ze textura tam jest robilem testy na zwyklych coordach no ale wlaśnie czy potrzeba dodatkowego przeksztalcenia jakas zmiana odleglosći? czemu cien nie jest rzucany prawidlowo pojawia sie z kosmosu i tak samo znika....

Jeżeli ktoś może mi zasugerować gdzie robię coś źle i jaka modyfikacje trzba przeprowadzic to naprawde byłbym wdzięczny. Wystarczy że ktoś mnie tylko nakieruje ;p

I błagam nie piszcie rzeczy w stylu "w Cg" albo "w HLSL" wiem ze sa podobne ale jednak podobne nie te same ;)

Z góry dziekuje za pomoc.

752
Programowanie grafiki / Odp: Usuwanie tła z tekstury
« dnia: Maj 07, 2009, 16:07:27 »
Sciagnij sobie Devila zrob sobie obrazek w PNG wlasnie z kanalem alpha czyli zapisujesz go jako 24bit png + 32 bit lapha bodajze tak zapisuje wiekszosc programow graficznych przynajmniej ja tak robie programem ArtGem ;] i juz ladowanie znajdziesz na google.pl wpisz devil load image i po sprawie. bardzo wygodna biblioteka nie trzeba sie wogole martwic maskami i innym dziwactwem

753
Szkółka / Odp: Pytanie na szybko
« dnia: Marzec 27, 2009, 16:21:10 »
skompiluj to sobie ;p i jak uzywasz totalcmd to sobie kliknij F3 na *.exe rozwiejesz wszystkie watpliwosic ukaze ci sie twoje "lol" wpisane w exe :>

754
Szkółka / Odp: Grafika na bitmapach
« dnia: Marzec 09, 2009, 13:02:16 »
zasda takiego przesuniecia jest prosta owszem ruzyjesz np kafelki z dokldnoscia do pixela i o tyle je przsuwasz czyli np jak kafel ma 32x32 to pelne przesuniecie nastepuje po 32 pixelach i wtedy pierwszy kafel znika a ostani sie pojawia cala zabawa polega na tym zeby rysowac o jedna linijke kafli iwecej w prawo i w dol za ekranem tak jakby jak sobie przypomne algorytm to ci napisze ale to dzila mniej wiecej tak:

map_x++; //przesuwamy o 1pix
map_y;

tiles
  • [y]; //to np przechowuje jakie tile rysowac


draw_x = tiles
  • [y].x + map_x;

x = draw_x/32;

na takiej mniej wiecej zasadzie czyli tak naprawde ekran sie przesuwa tablica rysowania ale przeskakuje fizycznie po 32 pixelach ale tego nie widac minus tego jest taki ze masz plynne przesuniecie lae fizycznie trablica nie do konca sie zgadza z tym co widac bo dodajesz swoje przesuniecie tak jakby ale tak jak mowie znajde to ci podesle bardzo dobrze sie to u mnie sprawdzalo w LifeStone

755
Szkółka / Odp: Grafika na bitmapach
« dnia: Marzec 05, 2009, 08:29:42 »
jezeli chcesz to moge ci dac gotowa biblioteke to programowanie gier 2d zrobiona w OpenGL autorstwa mojego kolegi Moja Supra uzywa tego do GUI
8168787 moje  gg bardzo prosta w obsludze bardzo podobna do allegro i masz akceleracje :p

756
Programowanie grafiki / Odp: Praca z formatem png...
« dnia: Marzec 05, 2009, 08:00:22 »
a jakiego PNg uzywasz? 8 czy 24 bit a moze wczytujesz go z ALPHA? jezeli tak to nie 3bity per texel a 4
wiec sprawdz czy twoj PNG nie ma kolory "przezroczystego" jak ma to dawaj 4bity albo zapisz go jeszcze raz ale Jako RGB

757
Programowanie grafiki / Odp: Praca z formatem png...
« dnia: Marzec 04, 2009, 17:05:43 »
no to inkrementuj sobie w petlo no... ;p
btw ;] nie uzywaj char* tylko unsigned short ;] dostaniesz od 0-255 czyli dokladnie to co chcesz
a jak juz ci zalezy tak bardzo na char
to wyjsnij couot przez zutowanie co ma ci pokazac

758
Programowanie grafiki / Odp: Praca z formatem png...
« dnia: Marzec 04, 2009, 16:32:43 »
for (int i=0; i<width* height * 3; i=i+3)//<- nie i=i+3 tylko i*=3; a to daletego ze twoj pierwszy pixel ma zakres od 0-2 czyli i=0*3=0 a np pixel 2 juz zakres od 3-5 czyli I= 1 *3; Rozumisz?
{
    cout<<"  R: "<<pixmap[i]; //wtedy to zadziala :)
    cout<<"  G: "<<pixmap[i+1];
    cout<<"  B: "<<pixmap[i+2]<<endl;
}

759
Programowanie grafiki / Odp: Praca z formatem png...
« dnia: Marzec 04, 2009, 16:01:12 »
void LoadPixels(char* Name, ILubyte* TempTexels, int WIDTH int HEIGHT)
{

                ILboolean result;

      ILuint id;

      ilInit();

      ilGenImages(1, &id);
      ilBindImage(id);
            
      result = ilLoadImage(Name);

      if(result)
      {       // TempTexels = new ILubyte[image_width*image_height*pixels];
         //TempTexels = ilGetData(); // tak sie nie robi ;p
         ilCopyPixels (0, 0, 0, HEIGHT, WIDTH, 1, IL_RGB, IL_UNSIGNED_BYTE, TempTexels);
         cout<<"Done.\n";
      }
      else
      {
         cout<<"No texture...[ERROR]\n";
      }

      ilDeleteImages(1, &id);
}

760
Programowanie grafiki / Odp: Praca z formatem png...
« dnia: Marzec 04, 2009, 07:46:08 »
Poczytaj sobie o algorytmie poruszania sie Damy w szachach w ten sposob latow wyznaczysz start koniec i "dlugosc" (dokladnie ilosc pol) zajmowanych przez odcinek ogolnie kombinacja funkcji min(),max() a png to skompresowane bmp takze zawsze mozesz uzyc do zaladowania devila ma on chyba taka wygodna funkcje ILcopyimage gdzie na koncu podajesz swoja tablice char*data; oczywiscie nalezy ja zbudowac przed pobraniem danych a jak to masz to juz wiele nie musisz kombinowac

761
Grafika 3D / Odp: Generator map wysokosci + tekstura
« dnia: Marzec 03, 2009, 10:16:31 »
Ja osobiscie yztwam Darmowego Programiku napisanego w SDL do generowania Hmap a do robienia lightmapy plus textury programu T2

762
Szkółka / Odp: Wskaźnik na element struktury, ... poprzez wskaźnik
« dnia: Marzec 02, 2009, 12:28:14 »
Czenu dziwne to jest jak najbardziej poprawne :) przeciez musisz do wskaznika pobrac Adres obiektu a ze wskaznik jest int* no to z faktu zapisu (psObj->a) sam w sobie jest typu int wiec musisz dac znak pobrania adesu zeby otrzymac int*

763
Szkółka / Odp: C++ problem z this
« dnia: Luty 27, 2009, 16:57:57 »
XD nie widzisz ze podajesz za malo parametrow do funkcji? :]
Edit a nie sorry zle popatrzalem ;]

co to jest to int* ? :)

764
DirectX / Odp: Dodatkowe opcje drugiego execa, launcher
« dnia: Luty 26, 2009, 16:44:47 »
Zawsze mozesz zrobic exec'a ktory ma w sobie pare ShellExecute() ;] jak ci sie nie chce grzebac tylko robic pare exe jeden z tym a drugi z tamtym

765
Matematyka i fizyka / Odp: "Ocieranie się" o ściany.
« dnia: Luty 26, 2009, 10:53:12 »
zeby policzyc "kolizje" do ocierania ;p

Strony: 1 ... 47 48 49 50 [51] 52 53