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 ... 48 49 50 51 [52] 53
766
Matematyka i fizyka / Odp: "Ocieranie się" o ściany.
« dnia: Luty 26, 2009, 02:49:31 »
jezeli to sie opiera o czyste kafle i pozycja jest liniowa x,y bez zmiany kata ruchu to przeciez wystarczy ze obiczysz przed narysowaniem czy przypadkiem pozycja x+1; nie koliduje z kaflem ktory sie akurat znajduje przed / obok ciebie jezeli tak nie zmieniasz pozycji radze uzywac delty polozenia to ulatwia sprawe :] no chyba ze rzeczywiscie wolno obracac sie o dowolnu kat choc w sumie to nie robi specialnie roznicy i ile polozenie gracza jest globalne wzgledem mapy czyli liczone od [0,0] nawet gdy mapa ma przesuniecie ekran [x,y] w sensie ze tak naprawde gracz porusza sie tylko po ekranie roboczym a mapa przesuwa sie w taki sposob ze tylko czesc widoczna jest rysowana

767
OpenGL / Odp: OpenGL: Bufor głębi nie działa prawidłowo
« dnia: Luty 25, 2009, 11:52:44 »
spróbuj włączać stan gl.Enable(GL.GL_DEPTH_TEST);  przed narysowaniem obiektu a wyłączać po i zobacz co sie stanie
no i ładuj rysowanie w stos poprzez glPushMatrix() glPopMatrix()

768
OpenGL / Odp: GL_TEXURE_3D a Coordynaty :/
« dnia: Luty 25, 2009, 02:07:35 »
Jak sie naucze to zrobie ;D

769
OpenGL / Odp: GL_TEXURE_3D a Coordynaty :/
« dnia: Luty 25, 2009, 01:21:06 »
mipmapping jak najbardziej jest :] dokladnie GL_LINEAR (czyli w sumie tak jakby nie bylo xD) nie bede ukrywal bo napisalem to juz wczesniej za wydajne to to nie jest, no ale gdzie tam jeszcze do konca ;p a optymalizacje narazie to ma zerowe... z tym aliasingiem masz racje no ale i tak parę sztuczek zastosuje by to zniwelowac :]

770
OpenGL / Odp: GL_TEXURE_3D a Coordynaty :/
« dnia: Luty 25, 2009, 00:47:45 »
http://www.warsztat.gd/screens.php?x=view&id=3219 <- juz obeszłem ;d powiedzmy ze uzywam o ile to mozliwe "selektywnego dobierania mipmap tak aby jak najwieksza czesc terenu byla widoczna a jezeli to nie pomaga program zmniejsza jakosc ziwekszajac badz zmniejszajac ilosc 'powtarzalnosci textury w terenie " daje to dosc dobry efekt :) przynajmniej mnie zadowala bez znacznej straty jaksci caly obszar widoczny jest w stanie sie dobrze renderowac :)

771
OpenGL / Odp: GL_TEXURE_3D a Coordynaty :/
« dnia: Luty 24, 2009, 22:14:42 »
Problem poniekad roziwazalem rzeczywiscie krzysiek mial racje moj problem polegal na mipmapach :] r liczylem dobrze (z proporcji wysokosci wzg ilosci layerow) teraz jest juz ok :) no i rzeczywiscie chcial bym urzyc texture arrays ale nie mam na to sprzetu wiec pozostane przy texturach 3d :]

772
OpenGL / Odp: GL_TEXURE_3D a Coordynaty :/
« dnia: Luty 24, 2009, 03:25:00 »
tzn chodzi mi o to ze jezeli textury nie powtarzam to ejst ok rysuej sie tak jak powinna no ale wlasnie rozdzialka jest straszna a jak jest powtarzalna no to dziwne rzeczy sie dzieja ;D

773
OpenGL / GL_TEXURE_3D a Coordynaty :/
« dnia: Luty 24, 2009, 03:11:48 »
Moj problem polega na tym ze mam hightmape ladowana z pliku bmp coordy s,t ustaiwam jako s = x_mapy ktore rosnie do max_x_mapy; tak samo dla z no i teraz pytanie jak ustaiwac R dla layerow textury 3d przeszperalem juz cale google i nie potrafie sobie z tym poradzic aby texura zmieniala sie wraz z wysokoscia mapy :/ korzystam oczywiscie z VBO wiec laduje coordy jako:

pglGenBuffersARB(1,&VBOCoords);
pglBindBufferARB(GL_ARRAY_BUFFER_ARB,VBOCoords);
pglBufferDataARB(GL_ARRAY_BUFFER_ARB,vertexCount*texd*sizeof(float), coords, (StreamDraw ? GL_STREAM_DRAW_ARB : GL_STATIC_DRAW_ARB));

glEnableClientState( GL_TEXTURE_COORD_ARRAY );
glBindBufferARB( GL_ARRAY_BUFFER_ARB, (__CoordsB[0] ? VBOCoords : VBOCoordsB) );
glTexCoordPointer( texd, GL_FLOAT, 0, (char *) NULL );

Jezeli ktos jest w stanie mnie naprowadzic jak obliczac coordy w texturach 3d to bylbym naprawde szczesliwy :)

774
OpenGL / Odp: GLSL a glActiveTexture
« dnia: Styczeń 19, 2009, 00:15:55 »
no wlasnie o dziwo nie do konca bo jak dam tam GLTEXTURE1 to sie sypie =p oglnie przyjmuje ze moge uzyc dowlnej powyzej GLTEXTURE0 + 1

moje pytanie zachacza bardziej o sformułowanie skoro mam tam 2 to czy to na bank jest stabilne i moge to tak zostawic i czy jezeli wywolam ten shader gdzies indziej to czy dalej tam ma pozostac 2 czy juz np 3?

775
OpenGL / Odp: GLSL a glActiveTexture
« dnia: Styczeń 19, 2009, 00:03:56 »
No o to chodzi =p tylko jak ja mam wiedziec ze akurat moja textura laduje sie jako GLTEXTURE0 + 2 = GLTEXTURE2

776
OpenGL / Odp: GLSL a glActiveTexture
« dnia: Styczeń 18, 2009, 23:40:00 »
tzn w jaki sposob? (przez rejestr textury?)

chodzi mi raczej o fakt tego ze nie mam pewnosci ze zaladuje sie jako 3 jednostka bo moze byc tak ze akurat ta textura zaladuje sie jako 4 (tak mi sie przynajmniej wydaje bo i takie rzeczy mi sie dzialy)

777
OpenGL / Odp: GLSL a glActiveTexture
« dnia: Styczeń 18, 2009, 23:32:50 »
tak o te "2" chodzi jak to mam obliczac bo czuje ze na innym komputerze pojawi sie inna textura albo wogole nie zadziala :/

778
OpenGL / GLSL a glActiveTexture
« dnia: Styczeń 18, 2009, 23:07:17 »
Moje pytanie jest pewnie bardzo lamerskie ale dopiero uczę sie GLSL i nie rozumiem pewnej kwestii, otoz:

Mam shader odwzorowania srodowiskowego bardzo prosty z oswietleniem oto kod:

vert:

varying vec3  Normal;
varying vec3  EyeDir;
uniform vec3  LightPos;

varying vec3 L;
varying vec3 N;
varying vec3 P;

void main()
{
   P = vec3(gl_ModelViewMatrix * gl_Vertex);
     L = normalize(-gl_LightSource[1].position.xyz-P);
   N = normalize(gl_NormalMatrix * -gl_Normal);

   gl_TexCoord[0] = gl_MultiTexCoord0;

       gl_Position    = ftransform();
       Normal         = normalize(gl_NormalMatrix * gl_Normal);
       vec4 pos       = gl_ModelViewMatrix * gl_Vertex;
       EyeDir         = pos.xyz;
}

frag:

const vec3 Xunitvec = vec3(1.0, 0.0, 0.0);
const vec3 Yunitvec = vec3(0.0, 1.0, 0.0);

uniform float MixRatio;

uniform sampler2D EnvMap;
uniform sampler2D myTexture;

varying vec3  Normal;
varying vec3  EyeDir;

varying vec3 L;
varying vec3 N;
varying vec3 P;

void main()
{
   
   vec3 E = normalize(-P);
   vec3 R = normalize(-reflect(L,N));
 
     vec4 Iamb =  gl_FrontLightProduct[1].ambient * 0.1;
     vec4 Idiff = gl_FrontLightProduct[1].diffuse * max(dot(N,L), -0.65);
   vec4 Ispec = gl_FrontLightProduct[1].specular * pow( max(dot(R,E), 0.0) , gl_FrontMaterial.shininess);

   vec4 Mdiff = Idiff * 0.10;

   vec3 reflectDir = reflect(EyeDir, Normal);

   vec2 index;

       index.y = dot(normalize(reflectDir), Yunitvec);
       reflectDir.y = 0.0;
       index.x = dot(normalize(reflectDir), Xunitvec) * 0.5;
       
       if (reflectDir.z >= 0.0)
           index = (index + 1.0) * 0.5;
       else
       {
           index.t = (index.t + 1.0) * 0.5;
           index.s = (-index.s) * 0.5 + 1.0;
       }
   

       vec3 envColor = vec3(texture2D(EnvMap, index));

       vec3 base = vec3(texture2D(myTexture, gl_TexCoord[0]));
       envColor = mix(base, envColor, MixRatio);

       gl_FragColor = vec4(envColor, 1.0) + Mdiff + Ispec + Iamb;
}

działa dobrze i wszystko jest ok ale moj problem polega na podawaniu textury do shadera dokladnie "EnvMap"

robie to w nastepujacy sposob:

glActiveTexture(GL_TEXTURE0 + 2);
glBindTexture(GL_TEXTURE_2D, evTex);
                  
int location = Test.GetUniLoc("EnvMap");
                  
if(location == -1){
   break;
}
else
{
   glUniform1iARB(location,2);   
}
                  
glActiveTexture(GL_TEXTURE0);

i teraz moje pytanie co dokladnie mam wstawiac za ta liczbe 2 wiem ze ma to byc poniekad nr textury ale dalczego u mnie to jest akurat 2 (doszedlem experymentalnie do tego)

zmienna textury evTex jest globalna.

do czego dokladnie sluzy glActiveTexture() i jak mam to na przyszłosc obliczac z gory dziekuje za pomoc.


779
Projekty rozpoczęte / Odp: UT - test uruchamialności
« dnia: Styczeń 09, 2009, 19:05:59 »
Mam VC++ ale wersja 2003.NET bez SP ;p wiec przekompiluj w C::B jak tam sie skompiluje to na pewno sie wlaczy wszedzie :>

780
Projekty rozpoczęte / Odp: UT - test uruchamialności
« dnia: Styczeń 09, 2009, 19:02:42 »
Aplikacja nie została właściwie zainicjowana (0x0150002). Kliknij przycisk... itd :]

WinXP MX4 SP2 32bit

AMDx2 BE-2350 2.1Ghz 64bit
2GbRam Geil Dual Channel 800Mhz
Galaxy GF7300GT GDDR3 256Vram PS/VS 3.0

Czy to nie jest przypadkiem pisane w Code::Blocks? ktos pisal tu o bledzie w module ntdll.dll ;]
tez kedys cos takiego mialem zobacz czy gdzies nie zapomniales dac NULL albo czy zamias alloc uzywasz realloc badz odwrotnie i powinno byc ok :)

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