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

Mensajes - Gunder

#31
                                Pozi virtus,

lo mas facil es exportar a la dll mediante un puntero a un clase interface o funcion ( tu elijes ) una forma de reservar memoria de la heap del ejecutable. Me explico:

En el exe creas la funcion:

-- EXE.C ---

void *MyAllocMem( int _size )
{
return malloc( _size );
}

cuando llamas a la Dll con la funcion, por ejemplo, que esta exportada de la dll:

-- EXE.C ---

HRESULT InitImporter( void *_MemAllocator );

la llamas pasando el puntero a la funcion:

-- EXE.C ---

InitImporter( (void*)MyAllocMem );

En el lado de la DLL, recoges el puntero a la funcion y lo guardas en una variable:

-- DLL.C ---

void *(*MyAllocMem)(int _size);

HRESULT InitImporter( void *_MemAllocator )
{
MyAllocMem = (void *(*)(int))_MemAllocator;

y ya puedes reservar memoria que se podra liberar desde el ejecutable.
int *Memoria=MyAllocMem( 40 * 4 );
}

Si quieres liberar memoria reservada por el ejecutable desde la DLL deberas repetir la operacion para MyFreeMemm, funcion que liberaria la memoria.

Por otro lado, si estas interesado en hacerlo con un interface de clase ala COM, dimelo y te explico como es.

Ale.




}



[ Este Mensaje fue editado por: Gunder el 2002-07-04 10:49 ]                                
#32
Programación gráfica / Cartoon Shading
01 de Enero de 1970, 01:00:00 AM
                                Bueno, una respuesta rapida...

Lo dividimos en dos partes;

- Iluminacion, para calcularla se usa el algoritmo del environment maping, osea calcular la u y v de la texturas de ilumincaion para cada vertice segun su angulo con la luz. La textura debe ser un degradado de el color mas oscuro al color mas claro de arriba a la izquierda a abajo a la derecha, repectivamente.

- Outline, para calcular el outline yo use un sistema muy sencillo, miraba q caras enfrentaban la pantalla  y a la vez q las metia en el index buffer para pintar, las marcaba como posibles bordes, luego recorria las q no se pintaban y miraba si alguna de las aristas del poligono se compartian, si eras asi, añadia la arista a una lista de lineas a  pintar.

Ale.
                               
#33
Programación gráfica / Cartoon Shading
01 de Enero de 1970, 01:00:00 AM
                                Bueno,
si te mola el cartoon shading del live! boxing, te puedo explicar como lo hice. Y si usas dos capas de textura, si podrias usar texturas, una para la iluminacion y otra para la textura. El Outline es lo mas facil de calcular.

Ale.
                               
#34
                                Bravo Emotion!!!!,

Microsoft lleva, con sus windows 3.0 o superior, mas de 10 años intentando proteger los accesos al hardare del usuario de una forma directa. Incluso bajo demanda, creo unas librerias llamadas DirectX para que los programadores de juegos pudieran acceder a todas estas funciones.

Pues bien, en el año 2002 llega emotion y accede a la trajeta de video con un inp desde windows.

Chapeau!!!!!!!!

                               
#35
                                Lo mas sencillo esque los servidores de juego le digan al servidor de catalogo cada cierto tiempo que siguen activos.

Respecto a las consultas de los clientes, pues te conectas por sockets al servidor de catalogo y le pides la informacion que te interesa.

Ale.
                               
#36
                                Hola Virtus,

la mejor forma es tener un porgrama que se encarga de mantener un catalogo de los servidores activos y de su estado.

Asi, los clientes se conectaran con este programa para solicitar infromacion y los servidores para informarle de su estado.

Ale.
                               
#37
                                Pues yo solo me he encontrado con formatos 565 y 555 para backbuffer para texturas puede encontrarte tambien el 1555 y el 4444.

Ale.
                               
#38
                                Muy facil,

bloquea la superficie de video, y mira la mascara del verde en la informacion del pixelformat.

Recuerda que 15=555 y 16=565.

Ale.
                               
#39
Programación en red / Por que UDP ?
01 de Enero de 1970, 01:00:00 AM
                                Hombre la idea de usar UDP y no usar TCP es poque en UDP pudo hacer esto:

Mandar A fiable B no fiable y C no fiable

y si recibo la secuencia:

C(T1) B(T50) A(T90)

puedo ir procesando C ( si no necesito orden ) y no tener q esperar a T90 para procesar B y C.

Ese es el principal motivo.
                               
#40
Programación gráfica / Plugins MAX
01 de Enero de 1970, 01:00:00 AM
                                Puedes compilar tanto en Hibrido como en Debug, pero el caso esque no deberias hacer nada mas.

Pon un punto de ruptura y prueba a ver si te para.                                
#41
General Programadores / Programador principiante
01 de Enero de 1970, 01:00:00 AM
                                Hola Emotion,

me remito a las pruebas...

Motores 3D:

- SnowWave: Avalanche. (motor numero 1)
- PC Atletismo.        (motor numero 2)
- Live! Boxing.        (motor numero 3)

Existen otros motores 3D que no llegaron a buen puerto, simplemente porque no era Game-Oriented.

Practicamente todos los motores comerciales son Game-Oriented.

Ale.
Porcierto, podemos ver el caso mas claro de motor para hacer juegos como churros, el DIV

[ Este Mensaje fue editado por: Gunder el 2002-05-06 19:16 ]                                
#42
Programación gráfica / Plugins MAX
01 de Enero de 1970, 01:00:00 AM
                                Muy facil,

añade en la pesataña de Debug de project setting...

category->General el ejecutable y el path al max.

y en category->aditional dlls tu dll ( osea tu plugin ).

Ejecuta con f5 y ya esta :ojo:.

Ale.


                               
#43
General Programadores / Programador principiante
01 de Enero de 1970, 01:00:00 AM
                                El porcentaje de reutilizacion de un motor suele ser muy bajo:

- Enlace con el API de windows.
- Accesos a perifericos.
- Sonido.
- Sistema de ficheros.

Pero la parte mas cambiante es siempre el tema del 3d ya que la tecnologia cambia muy rapidamente.

Mi experiencia siempre me ha dicho, un proyecto un motor.

Ale
                               
#44
Programación gráfica / ProcessVertices
01 de Enero de 1970, 01:00:00 AM
                                Hombre, el dilema del octree y como colocar los vertices para q sea lo mas optimo posible.

Seguire muy decerca el post.

( por segunda vez )                                
#45
Programación gráfica / Bones
01 de Enero de 1970, 01:00:00 AM
                                Pues muy sencillo dracula,

un bone es un nodo que se encarga de mover ciertos vertices que tiene asignado segun un punto de pivote ( rotula ) y una rotacion definida por una matriz.

Si has usado animaciones por morphing como las del q1, q2 o parte del q3, te sera un poco difil de apreciar lo bueno de este sistema.

Si has usado animaciones asignando una matriz a cada nodo de tu modelo, ese nodo se puede interpretar como un hueso.

Si tu modelo es una malla completa, se tendran asignados ciertos vertices a cada nodo provocando una deformacion de la malla en tiempo real.

Lo bueno de animacion por bones esque la animacion es aplicable a varios modelos. Solo debes tener en cuenta los pivotes del modelo y recontruir la geometria del esqueleto en funcion de estos pivotes.

Ale.


                               





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.