Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Temas - xeex

#1
Hola, les explico la situacion por si me pueden ayudar.

-Tengo la escena principal.
-Dentro de la escena principal tengo un simbolo que es un video clip.
-Este video clip(que esta dentro de la escena principal) tiene un campo de texto dinamico.
-El video clip dura unos 300 frames.
-Quiero, segun lo que se establesca en la escena principal, poder cambiar el campo de texto dinamico del video clip.
-Esto lo he hecho, pero lo que desee ahora es solo cambiar el campo de texto del video clip pero solo desde, digamos, el frame 200 hasta el frame 250.
-Esto tambien lo he logrado hacer, pero de una manera que yo se que no es la optima. La manera en que lo he hecho ha sido llendome al frame 200 y escribiendo un codigo como:

//sea textodinam el texto dinamico que se encuantra en el video clip "hijo".
//sea variable1 el texto que se desea establecer, y que proviene(o mejor dicho se encuentra) en la escena principal.

textodinam.text=MovieClip(root).variable1

Lo malo es que he tenido que escribir este codigo en cada frame desde el frame 200 hasta el frame 250.


Trabajo con flash CS4 con ActionScript 3.0

Me podrian ayudar por favor.
Gracias y Saludos.
#2
Hola. Nunca he tenido la necesidad de conocer el api de windows o como funciona, esto lo digo por que no quiero adentrarme en esta api, solo necesito una ayuda puntual.
Mi pregunta es la siguiente:
Una ventana simple en windows la genero en Dev-Cpp con el siguiente codigo:
#include <windows.h>

/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

/*  Make the class name into a global variable  */
char szClassName[ ] = "WindowsApp";

int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)

{
    HWND hwnd;               /* This is the handle for our window */
    MSG messages;            /* Here messages to the application are saved */
    WNDCLASSEX wincl;        /* Data structure for the windowclass */

    /* The Window structure */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
    wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
    wincl.cbSize = sizeof (WNDCLASSEX);

    /* Use default icon and mouse-pointer */
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;                 /* No menu */
    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
    wincl.cbWndExtra = 0;                      /* structure or the window instance */
    /* Use Windows's default color as the background of the window */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    /* Register the window class, and if it fails quit the program */
    if (!RegisterClassEx (&wincl))
        return 0;

    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
           0,                   /* Extended possibilites for variation */
           szClassName,         /* Classname */
           "Windows App",       /* Title Text */
           WS_OVERLAPPEDWINDOW, /* default window */
           CW_USEDEFAULT,       /* Windows decides the position */
           CW_USEDEFAULT,       /* where the window ends up on the screen */
           544,                 /* The programs width */
           375,                 /* and height in pixels */
           HWND_DESKTOP,        /* The window is a child-window to desktop */
           NULL,                /* No menu */
           hThisInstance,       /* Program Instance handler */
           NULL                 /* No Window Creation data */
           );

    /* Make the window visible on the screen */
    ShowWindow (hwnd, nFunsterStil);

    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&messages, NULL, 0, 0))
    {
        /* Translate virtual-key messages into character messages */
        TranslateMessage(&messages);
        /* Send message to WindowProcedure */
        DispatchMessage(&messages);
    }

    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
}


/*  This function is called by the Windows function DispatchMessage()  */

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)                  /* handle the messages */
    {
        case WM_DESTROY:
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;
        default:                      /* for messages that we don't deal with */
            return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
}

que debo poner y donde lo debo hacer, para que si presiono la tecla "Y"(por elegir cualquiera) la ventana se minimize?
GRACIAS Y SALUDOS
#3
Hola

cuando quiero obtener la lista de archivos, por ejemplo, de tipo .*txt en una carpeta llamada "modelos" hago lo siguiente:
                 
                  WIN32_FIND_DATA f;
                  HANDLE h = FindFirstFile("modelos./*txt", &f);
                  if(h != INVALID_HANDLE_VALUE)
                     {
                        do
                           {
                                 printf("ARCHIVOS TXT =%s\n",f.cFileName);
                           }while(FindNextFile(h, &f));
                     }

mi pregunta es que le debo poner como argumento a la funcion FindFirstFile() para que me de una lista de las carpetas que se encuentran dentro de la carpeta modelos. Es decir, ahora no quiero que me entregue un listado de algun determinado tipo de archivo, sino un listado de las carpetas.

por su ayuda, gracias
SALUDOS.
#4
General Programadores / pregunta respecto al free()
16 de Junio de 2009, 12:00:09 PM
HOLA A TODOS

Estaba depurando un codigo y llegue a una instancia en donde tenia una funcion de este tipo:

float *rotar()
   {
             .
             .
             .
      float *valores;
      valores= (float *)malloc(3*sizeof (float));
      valores[0]=auxx1;
      valores[1]=auxy1;
      valores[2]=auxz1;
     
      return valores;   
   }
int main()
   {
              .
              .
              .
      float *valores_bmm;       
      valores_bmm=rotar();     
      float xgra,xchi,ygra,ychi,zgra,zchi;
      xchi=valores_bmm[0];   
      xgra=valores_bmm[1];     
      ychi=valores_bmm[2];   
      ygra=valores_bmm[3];     
      zchi=valores_bmm[4];   
      zgra=valores_bmm[5];     
      free(valores_bmm);//¿AQUI VA EL free()?¿y si lo va, está bien de esta manera?      .
              .
              .
              .
   }

Nunca habia devuelto a travez de un metodo o funcion(o como se le quiera llamar) un puntero.
Siempre que he reservado memoria, la he usado y liberado en la misma seccion de codigo en la que la cree, pero como ahora reservo memoria en una funcion y luego devuelvo esos valores a otra parte  no se donde y como poner el free().
Espero que se entienda que es lo que pregunto.
Yo creo que es como lo apunte en el codigo.

GRACIAS Y SALUDOS
#5
Hola
Tengo una duda, a que se refiere eso de que opengl puede emular por software?
Me pueden dar un ejemplo concreto en que lo haga.
que emula?
cuando lo hace?
direct3d tambien lo hace?

gracias y saludos
#6
Programación gráfica / un vbo con mas de una textura
07 de Noviembre de 2008, 09:17:25 PM
hola
estoy trabajando con vbo.
¿Es posible tener un vbo con mas de una textura?
lo que quiero decir es:

si tengo al inicializar:

                glGenBuffersARB(1, &vertices_buffer);
                glBindBufferARB(GL_ARRAY_BUFFER_ARB, vertices_buffer);
                glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(vertices_datos),vertices_datos,GL_DYNAMIC_DRAW_ARB);          
                glGenBuffersARB(1, &normales_buffer);
                glBindBufferARB(GL_ARRAY_BUFFER_ARB, normales_buffer);
                glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(normales_datos),normales_datos,GL_DYNAMIC_DRAW_ARB);          
                glGenBuffersARB(1, &texturas_buffer);
                glBindBufferARB(GL_ARRAY_BUFFER_ARB, texturas_buffer);
                glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(texturas_datos),texturas_datos,GL_DYNAMIC_DRAW_ARB);          
                glEnableClientState(GL_VERTEX_ARRAY);
                glEnableClientState(GL_NORMAL_ARRAY);
                glEnableClientState(GL_TEXTURE_COORD_ARRAY);

...y luego el bind:

glBindTexture(GL_TEXTURE_2D,texturas_objetos[23].ID);      

luego el dibujo:

    glBindBufferARB(GL_ARRAY_BUFFER_ARB, vertices_buffer);
    glVertexPointer(3, GL_FLOAT, 0, 0);
   
    glBindBufferARB(GL_ARRAY_BUFFER_ARB, normales_buffer);    
    glNormalPointer(GL_FLOAT, 0, 0);
   
    glBindBufferARB(GL_ARRAY_BUFFER_ARB, texturas_buffer);
    glTexCoordPointer(2, GL_FLOAT, 0, 0);
   
    glDrawArrays(GL_QUADS, 0, tam_vbo);      


quiero que cada quad tenga su propia textura...¿como lo hago?...¿se puede?...¿donde coloco los bind si es que se puede?
si no me entiende....supongamos que tengo en el vbo los vertices, normales y corrdenadas de las texturas de las cara de un cubo, lo que quiero hacer es que  cada cara tenga su propia textura...
¿se puede verdad?

por favor ayuda...se me acaba el tiempo
GRACIAS Y SALUDOS
#7
Hola,
Tengo un simple cuadrado cuyas caras( frontal y trasera) son perpendiculares al eje z.
El tamaño del lado de este cuadrado es lo suficientemente grande para cubrir por completo la pantalla.
Cuando le hago render a nada, es decir, tengo la pantalla vacia, me da 290 FPS,
cuando le hago render al cuadrado que ocupa toda la pantalla me da 200 FPS.
¿por que es esto?
siendo que solo son 4 llamadas a glVertex3f(), por que tanto bajan los fps.
Me imagino oviamente que es por que se esta renderizando una superfice tan grande como la pantalla...¿es asi? ¿eso es?
Estoy condenado a perder 90 frames cuando el espacio a renderizar es muy amplio, siendo que hay una cantidad infima de llamadas a
glVertex().
Siempre estuvo en mi cabeza que al final lo que hace lento a un programa en openGL son las cantidad de llamadas a vertex,color,normal,texture,...etc etc. pero que fuera por el area que se muestra, no tenia idea...¿es asi?.
Ayuda, por favor....

#8
Hola...
No se que estare haciendo mal pero hago una esfera de digamos 32 meridianos y 32 paralelos, pero me resulta muy muy lenta al momento de mostrarla...
¿como esta implementada la glutSolidSphere?
no me hace falta el codigo que genera los vertices sino el como fue hecha... con triangle_strip? o es acaso quad_strip?
se usan vertex array?

a la glutSolidSphere por mas meridianos y paralelos que le pongo se sigue viendo rapidisimo, en cambio mi esfera no.

por favor ayuda...
#9
hola.
estaba haciendo una esfera en mi programa, bueno, para que esta paresca esfera por lo menos debe tener 8 meridianos y 8 paralelos, es decir, 64 lados,256 vertices(4 vertices por cada lado),768 coordenadas(una coordenada x, y, z por cada vertice).
Bueno la cosa es que una vez hecha la esfera, la meto en un call_list para que la cosa valla mas rapido, pero estoy seguro que el programa podria ir mas rapido.
Cuando muestro al rededor de 1024 lados(que pueden ser lados que forman un volumen, como la esfera antes nombrada o lados solos) el programa se me ve un poco lento, solo un poco, cuando son 2048 lados ya la lentitud se hace muy presente.
Bueno la pregunta es: aparte del unico recurso que conosco y tengo en mi programa, que es meter las figuras o lados a un call_list, ¿que otra solucion tengo para que la velocidad se mantenga?.
Estoy seguro que hay una solucion, ¿o acaso si uno hace un programa, al tener esa cantidad de lados, 2000, ya los programas se empiezan a poner lentos?. En todo caso no creo que sea asi ya que muestro ciertas figuras hechas en "anim8or"(archivos que luego importo a *.OBJ) que tienen una infinidad de lados o caras, y en mi programa se ven de lo mejor(uso glmObject.h).
Bueno, la pregunta es como aparte de los call_list aumento la velocidad de mi programa?, como hago para que cuando muestro una cantidad de 2000 o mas lados este no se ponga super-lento.

Una vez pregunte en otro topico por lo de la velocidad, claro luego lo solucione con el uso de los call_list, pero alguna de las preguntas que me hiso pogacha sirven para este topico tambien.

¿Estas usando aceleracion por hardware?
Res:Si, uso allegro gl y activo la aceleracion por hardware.
¿Estas dibujando lineas en ves de caras llenas?
Res:todas mis figuras y volumenes se basan en caras de 4 vertices en la cual pongo una textura(una texura para cada lado cuando son caras solas, y una textura qu envuelve el volumen cuando son cilindros, esferas, etc).
¿Estas calculando cada elemento en cada frame?
Res:No, solo una vez.
¿Estas usando fan o strips para acelerar?
Res:ESTO NO LO ENTIENDO.:shock: , si me lo pudieran explicar.
¿De cuantos poligonos hablas?
Res:2000 lados, ahi ya se nota la lentitud
¿De cuantos vertices hablas?
Res:2000*4
¿Estas usando vbo para evitar trafico por el canal agp?
Res:ESTO NO LO ENTIENDO.:shock: , si me lo pudieran explicar.
GRACIAS.
#10
Hola.
Si tengo que mostrar digamos un cuadrado, o mejor dicho algo con 4 vertices, ademas mostrar otra cosa con,digamos, 32 lados(un objeto como un cilindro), osea, 128 vertices...
¿que seria lo mejor en cuanto a velocidad para el programa, hacer un call list en donde esten las 2 figuras, o hacer un call list para el cuadrado y otro para el cilindro??¿?¿
¿me explico?
tengo un programa en el cual muestro cuadrados(bueno poligonos con 3 o 4 lados) y cilindros(que estan formados por n lados), bueno a la hora de mostrarlos no se si es mejor hacer un call list para cada figura o en un solo call list meter todas...
?o acaso es exactamente lo mismo¿


CallList[0]=glGenLists(1);    
glNewList(CallList[0],GL_COMPILE);                              
dibuja_cuadrado();
dibuja_triangulo();
dibuja_cilindro();
glEndList();
main()
  {
     do
        {    
           glCallList(CallList[0]);                            
        }while(!ESC);
  }

eso o esto?:


CallList[0]=glGenLists(1);    
glNewList(CallList[0],GL_COMPILE);                              
dibuja_cuadrado();
glEndList();
CallList[1]=glGenLists(1);    
glNewList(CallList[1],GL_COMPILE);                              
dibuja_triangulo();
glEndList();
CallList[2]=glGenLists(1);    
glNewList(CallList[2],GL_COMPILE);                              
dibuja_cilindro();
glEndList();

main()
  {
     do
        {        
           for(int i=0;i<3;++i)  
              glCallList(CallList[i]);                            
        }while(!ESC);
  }


Bueno si es lo mismo, ¿cual seria forma correcta en que se usa un calllist para obtener el maximo de rendimiento(velocidad/fps)?
gracias,
saludos.
#11
Hola
Si tengo:

typedef struct {    
   float *vector;    
}Call_Lists;
int main()
  {
     .
     .
     .
     Call_Lists  *CL=(Call_Lists *) malloc (19*sizeof (Call_Lists));
     for(int i=0;i<19;++i)
        CL[i].vector=(float *)malloc (24*sizeof (float));    
     .
     .
     .
  }


cuando salgo, me vasta con ponerle un:

free(CL)

o tambien deberia hacerle un

for(int i=0;i<19;++i)
  free(CL[i].vector)


Si pueden me justifican la respuesta...
Muchas gracias.
Saludos.
#12
bueno exactamente lo del titulo:
como se maneja un puerto usb,quiero emitir y recibir señales desde un programa creado por mi.
quiero que cuando se cierre un circuito o switch este envie una señal por un cable usb y luego recibir esta señal en mi programa, luego poder enviar una señal hacia afuera. No hablo de datos solo de emitir una corriente desde el usb, no solo un pulso sino que sea continua.
quiero hacer una especie de timer,
alguien me puede ayudar???
hay alguna libreria o algo para esto?
GRACIAS Y SALUDOS
#13
Programación gráfica / acerca de la luz
20 de Diciembre de 2007, 11:57:17 PM
hola,
estaba retomando el tema de las luces, pero me entro una duda.

tengo algo asi:

void luz ()
  {
     glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmb);        
     glLightfv(GL_LIGHT0, GL_DIFFUSE, LightDif);      
     glLightfv(GL_LIGHT0, GL_SPECULAR,LightSpc);    
     glLightfv(GL_LIGHT0, GL_POSITION,LightPos);      
     glLightfv(GL_LIGHT0, GL_SPOT_CUTOFF, &SPOT_CUTOFF);
     glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, spot_direction);        
  }

void display ()
  {      
     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     glLoadIdentity ();
     camera();

     /*estas 2 lineas las tengo que agregar*/
     glLightfv(GL_LIGHT0, GL_POSITION,LightPos);      
     glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, spot_direction);

     glEnable(GL_LIGHT0);                              
     glEnable(GL_LIGHTING);
     terreno();//funcion de dibujado
     glDisable(GL_LIGHTING);
     glFlush();
  }

main()
  {
     luz();
     do
        {
           display();
        }while(!tecla(esc));
  }


mi probblema es el siguiente.
Si no pongo estas 2 lineas:

      glLightfv(GL_LIGHT0, GL_POSITION,LightPos);      
      glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, spot_direction);


en la funcion display, se me produce un efecto de iluminacion como el de una linterna, es decir, a medida que avanzo la luz se mueve conmigo.

¿por que pasa esto?
¿por que tengo que declarar de nuevo esas 2 lineas si ya las habia declarado anteriormente en la funcion luz() antes del loop principal?

adios y gracias.
#14
Programación gráfica / UNa AYUDA CON LA VELOCIDAD.
23 de Octubre de 2007, 12:51:09 AM
Hola a todos.
Estoy haciendo un programa.
En el creo figuras 3d, con planos, poligonos y cilindros,etc.
a la hora de crear una superficie curva doy la posibilidad de elegir con cuantos lados se desea que se cree, un cilindro, por ejemplo.
Cuando se acumulan las superficies cilindricas o esfericas el numero de lados crece muy rapido lo que pondria el programa lento.
Estaba tratando de que en el momento de crear las superficies, ya sean planas cilindricas o esfericas, se cree un display list asociado para cada una de ellas , de esta forma mi cilindro,por ejemplo, de n(muchos) lados es precompilado y asi no se tendrian que hacer los costosos calculos que se requieren.
Pero al parecer no se puede crear un display list en tiempo de ejecucion.
Mi pregunta es como hacen los programas "grandes" para que no se ponga lento  a medida qie se crean mas y mas objetos mientras trabajamos en ellos.

Es posible crear un display list en tiempo de ejecucion?, por que lo que es a mi no me funciona.
GRACIAS
Y SALUDOS.
#15
Hola,
La forma en que hago  un displaylist es:

GLuint lista1;
GLuint lista2;
void BuildLists()
  {
      lista1 =glGenLists(2);      
      glNewList(lista1,GL_COMPILE);              
      dibujar_algo();      
      glEndList();
   
      lista2=lista1+1;
      glNewList(lista2,GL_COMPILE);      
      dibujo_otra_cosa();
      glEndList();    
  }

esto funciona perfectamente pero
lo que quiero hacer y no lo logro es:

GLuint lista[2];
void BuildLists()
  {
      lista[0] =glGenLists(2);      
      glNewList(lista[0],GL_COMPILE);              
      dibujar_algo();      
      glEndList();
   
      lista[1]=lista[0]+1;
      glNewList(lista[1],GL_COMPILE);      
      dibujo_otra_cosa();
      glEndList();    
  }


osea reemplazar las 2 declaraciones:

GLuint lista1;
GLuint lista2;

por un arreglo:

GLuint lista[2];


compila y todo pero no se ve nada,¿que sera?

SALUDOS Y GRACIAS.
#16
Programación gráfica / como se libera un displaylist
04 de Octubre de 2007, 12:35:29 AM
hola.
primero creo un displaylist de esta forma:


void BuildLists()
{
    lista1 =glGenLists(2);    
    glNewList(lista1,GL_COMPILE);              
    dibujar_algo();    
     glEndList();
 
    lista2=lista1+1;
    glNewList(lista2,GL_COMPILE);    
    dibujo_otra_cosa();
    glEndList();    
}


supongamos que quiero borrar la lista 2(para liberar esa memoria)
¿como lo hago?
acaso le pongo free, solo eso??


gracias y saludos
#17
Hola,
Estoy haciendo un programa  usando :opengl,allegro-gl,allegro,c,dev-c++
Mi duda es la siguiente, como obtengo una lista de todos los archivos con cierta terminacion, *.tga, en una derterminada carpeta, usando c, y no las librerias de windows.
GRACIAS
#18
HOLA,

tengo unas texuras que adoptan el color del poligo coloreado que tengo en la escena ¿como lo evito?

mas descritivamente:
tengo un

glBegin(GL_QUADS);
glColor3f(1,0,0);
glNormal3f(0,-1,0);
glVertex3f(-largo,altura,-largo);
glVertex3f(-largo,altura,largo);
glVertex3f(largo,altura,largo);
glVertex3f(largo,altura,-largo);
glEnd();

luego en otro lado cargo unas texturas.
Estas estan bien si se cargan solas pero al momento de
que se muestran con el GL_QUAD de color rojo, estas se vuelven rojas.
#19
Programación gráfica / Acerca de los lens flare
06 de Junio de 2007, 04:36:13 PM
HOla, hace un tiempo pregunte como se llamaba ese efecto demirar al sol.
Bueno me ayudaron y me dijieron que se  llamaba lens flare.GRACIAS
Ahora me surge un pregunta.
Habiendo hecho ya una funcion que me diga si un punto esta o no en el volumen de vision ya puedo crear el lens flare, pero que pasa si tengo un objeto que me tapa la fuente que produce el lensflare.
Que pasa si lo tapa por ejemplo un edificio o una montaña o lo que sea.
Como se yo que lo esta tapando.

La forma en que lo tengo programado es esta asi:
dibujo la escena incluido el sol.
si el sol se encuentra en el volumen de vision entoncees dibujo el lens flare en el angulo y posicion que corresponda.
¿pero como se si el sol, que esta en el volumen de vision, no esta siendo tapado por un objeto? en ese caso el lens flare no deberia mostrarse.

estaba leyendo pero no me sirvio de mucho:
http://www.gamedev.net/reference/articles/article874.asp

en la parte que menciona algo relacionado solo sale estio:
"All other secondary portions are inverted and/or scaled (h, k) coordinates. While you may use a 2d vector, or a 3d vector if you want the flare to have capabilities of being hidden by geometry (such as a sun behind a star), "

En nehe solo hablan de ver si un un punto esta o no en el volumen de vision pero, de nuevo, como se si mi fuente de luz esta siendo tapada????

GRACIAS
SALUDOS
#20
Hola, primero agradecer a todos por este gran sitio, un foro de programacion grafica en español siempre es super util, GRACIAS.

Tengo otra duda si me puedeen ayudar porfavor.

Los screenshots estan con comentarios en ingles ,era un post que deje en gamedev, pero es super entendible:
mi problema es el siguiente, cuando me acerco a una figura me pasa que el near plane corta a esta pero lo hace,segun yo, demasiado lejos de la pantalla deberia cortar la figura mas cerca ya que lo tengo setado en 1(el near plane).
Me dieron como consejo que lo disminuyera(el near plane) pero como lo voy a disminuir mas si ya esta en 1.0 y si lo bajo la perspectiva se desfigura?
aki estan las figuras

los comentarios dicen:"puedo evitar esto"  "para que se vea asi"

http://img514.imageshack.us/img514/1188/82402901wj3.jpg

Bueno esa es una pregunta tengo otra:
parecera raro pero alguien me puede decir cual es la escala que se usa en opengl en los juegos. Me explico: cuando juego, por ejemplo quake2, de que tamaño es el personaje que veo es acaso de 100 altura? de 10?
de 1?????. con que tamaño se trabaja generalmente.
Planeo usar modelos 3d pero no que cual es el tamaño adecuado para una persona?

de antemano muchas gracias.
by..tes....





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.