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 - BeRSeRKeR

#41
Programación gráfica / Orden De Índices
28 de Agosto de 2003, 05:08:07 PM
 Hola a todos.

Veréis, tengo una duda acerca de la forma más óptima de definir los índices que forman la geometría.

Mirad. Estos son los índices que forman un cubo.

  0   1     2
  2   3     0
  4   5     6
  6   7     4
  8   9   10
10  11    8
12  13  14
14  15  12
16  17  18
18  19  16
20  21  22
22  23  20


Como podéis ver, los índices están definidos de una forma más o menos secuencial.

Y esta es la lista de índices del mismo cubo pero definido de otra forma. Como podéis ver, los índices no van tan consecutivos.

  0    6    9
  9    3    0
12  15  21
21  18  12
  1    4  16
16  13    1
  5  10  22
22  17    5
11    7  19
19  23  11
  8    2  14
14  20    8


Así que la pregunta es, ¿es más optima para la aceleradora la primera lista de índices o es indiferente?

Saludos.
#42
General / Soporte Pixel Shaders 1.1
18 de Agosto de 2003, 09:04:21 PM
 Holaaaaaa!

Bueno, me gustaría hacerme una idea de cuánta gente tiene aceleradoras con soporte para pixel shaders 1.1

Por si no lo tienes claro, tienen soporte todas las GeForce3 o superiores (menos la GeForce 4 MX) y las Radeon 8500 o superiores.

Todo esto es para una cosilla que empecé a hacer hace casi 2 semanas. Tal vez tenga algo para mostrar dentro de poco pero tranquilos, no sería nada del otro mundo. Más que nada sería para comprobar que funciona en el mayor número posible de aceleradoras. Por ahora, como digo, he estado casi 2 semanas programando sin ver casi resultados por pantalla...es un poco frustrante, pero bueno, tener una buena base es muy importante...  :D

Bueno, pues eso, que me me gustaría ver qué aceleradoras tenéis :). Para empezar yo tengo una GeForce3

Ale, gracias por tu colaboración :)
#43
General Programadores / Templates...
08 de Agosto de 2003, 04:49:01 PM
 Hola a todos.

Estoy intentando hacer una cosa con templates pero como no estoy demasiado experimentado con ellos pues no me sale lo que quiero hacer, así que  a ver si vosotros me podéis echar un cable.

Mirad este código:

using namespace std;

// Clase template
template<class DataType> class IFXVar
{
public:

string  m_strName;
DataType m_Value;
};

// Declaramos un map
map<string, IFXVar *> g_Vars;    // ESTO DEBE ESTAR MAL DECLARADO!

// Función template
template<class DataType> IFXVar<DataType> *RegisterVar(char *pszName, DataType val)
{
IFXVar<DataType> *pVar = new IFXVar<DataType>();

pVar->m_strName = string(pszName);
pVar->m_Value  = val;

g_Vars.insert(make_pair(pVar->m_strName, pVar));    // AQUI DA EL ERROR!

return pVar;
}

// Función principal
void main()
{
// Registramos una variable de tipo int
IFXVar<int> *pVar1 = RegisterVar("una_variable", 9);

// Registramos una variable de tipo string
IFXVar<string> *pVar2 = RegisterVar("otra_variable", string("Hola"));

// Liberamos memoria
delete pVar1;
delete pVar2;
}


Al principio declaro una clase template (IFXVar) que representa una variable. Esta tiene dos miembros, el nombre de la variable (m_strName) y el valor de la variable (m_Value). Como podéis ver, este miembro puede ser de cualquier tipo.

Despues declaro un map (g_Vars) en el que se irán almacenando todas las variables.

Finalmente declaramos una función template a través de la cual iremos registrando nuestras variables. Como podéis ver, a través del segundo parámetro de dicha función se le pasa el valor de la variable, el cual, una vez mas, puede ser de cualquier tipo.

Ahora bien, el problema se presenta en la declaración del map g_Vars ya que lo declaro de esta forma:

// Declaramos un map
map<string, IFXVar *> g_Vars;


cuando en realidad debería ser algo parecido a esto:

// Declaramos un map
map<string, IFXVar<???> *> g_Vars;


¿no?.

Ya que de otra forma, al hacer el make_pair en el método RegisterVar, me da un error de conversión de tipos:

c:\Developer\Microsoft Visual Studio .NET 2003\Vc7\include\utility(41): error C2440: 'initializing' : cannot convert from 'IFXVar<DataType> ' to 'IFXVar *' with [ DataType=int ]

El problema es qué de poner en lugar de "???" :D

Así que la pregunta es, cómo declarar el map de forma que pueda contener variables cuyo valor sea de cualquier tipo...

Por cierto, en el método RegisterVar, la forma de reservar memoria, ¿estaría bien? (funcionar, funciona) :):

IFXVar<DataType> *pVar = new IFXVar<DataType>();

Anyone, please? :)

Saludos.
#44
General Programadores / Windows Scripting Host
20 de Mayo de 2003, 03:58:59 PM
                                Hola a todos.

Me preguntaba si alguien tiene conocimiento de algún script (Windows Scripting Host) que me permita copiar una serie de archivos; que yo especifique, a cualquier ordenador de la red (especificando su ip o nombre).

O si sabéis de alguna página que me pueda orientar sobre ése tema en concreto....

¡Gracias in avance! :ojo:

Saludos                                
#45
Off-topic / Las demos de nVidia
06 de Mayo de 2003, 08:30:26 PM
                                ¡¡Hay que ver los que hacen estos de nVidia para vender su última aceleradora...sólo por ver esto en tiempo real vale la pena comprarse una GeForceFX!!  :jaja:

http://forum.3dnews.ru/attachment.php?postid=10459

Saludos                                
#46
                                Hola!

Buscando documentos sobre iluminación he encontrado ->este tutorial<- sobre Per-Pixel Lighting con  Direct3D9. Está bastante bien ya que explica todo lo necesario para implementar iluminación per-pixel con el modelo Blinn-Phong. Por ejemplo también habla de cómo utilizar normalization cubemaps para renormalizar los vectores L y H dentro del pixel shader, etc.

Curiosamente la página esta hospedada en terra por lo que el autor probablemente sea español. Para desgracia de algunos, el tuto está en inglés.

Y nada más...como hace unos dias se habló de que no había casi información sobre el tema pues ale, ahí queda eso... :ojo:

Saludos

PD: mira por donde el amigo trabajaba en Pyro:

"Hi, people! I am 24 years old andI like programming and videogames. I have worked in PyroStudios for 4 years and 5 months as a senior technology programmer. I left my job after finishing Praetorians, as I needed to take a break!!! Now my full-time hobby is programming again"

Esta es la página de entrada:
http://personal.telefonica.terra.es/web/codegarrofi/

También tiene un visor de mapas de Doom3 (en fase beta al parecer).                                
#47
General Programadores / Aviso de actualización...
18 de Abril de 2003, 03:07:37 PM
                                ¡Hola!

He actualizado el hilo sobre MD5 en la sección "Trabajos en desarrollo"...por si a alguien le interesa...

Aviso porque como el último mensaje que había era mio, a lo mejor nadie se da cuenta de que ha cambiado :jaja:

http://www.stratos-ad.com/forums2/viewtopic.php?t=1596

Saludos                                
#48
Proyectos / Visor MD5...
16 de Marzo de 2003, 05:13:52 AM
                                Muy buenas a todos!.

Resulta que este último mes y medio he estado algo ocupado terminando un proyecto de Java que tenía que hacer para final de curso por lo que he estado prácticamente dicho tiempo sin tocar ni una línea de código relacionada con el tema de las 3D  :-?

Pero la semana pasada terminé con el dichoso proyecto, ¡¡por lo que estaba en disposición de poder hacer algo relacionado con las 3D!!...así que, pensando en qué podría hacer, llegué a la conclusión de que estaría bien un visor de MD5 (formato de Doom3) ahora que está tan de moda por el foro :jaja:.

Así que aquí os muestro lo que llevo hecho entre el fin de semana pasado y lo que llevamos de este. La parte de per-pixel bumpmapping + diffuse está terminada y ya he implementado cosas para obtener per-pixel bumpmapping + diffuse + specular pero hay que refinarlo bastante para obtener un buen resultado.

Lo próximo que haré cuando termine la parte de render, posiblemente será implementar la animación esquelética...todo se andará. ¡Depende del tiempo que me quede libre!

Ah bueno, por si os interesa, el visor está desarrollado en C++, utilizando Direct3D 9.0 para el render y soporte para vertex & pixel shaders 1.1. Las imágenes del visor están renderizadas con GeForce3. Las podéis descargar de http://www.arrakis.es/~jonathan01/MD5/MD5_...iewer_Shots.zip

De todas formas, he aquí un avance...





Saludos                                
#49
Programación gráfica / MS abandona el ARB?...
04 de Marzo de 2003, 07:35:25 PM
                                Según "The Register", Microsoft ha abandonado el OpenGL ARB. Al parecer estaba aburrido de no hacer nada y ha preferido dedicar todos sus esfuerzos a Direct3D xDDDD

Saludos

PD: se me olvidó el link! :D
http://www.theregister.co.uk/content/54/29555.html                                
#50
Off-topic / Flash Flash Revolution
30 de Enero de 2003, 10:50:46 PM
                                Aquí os pongo un enlace a un juego Flash bastante curioso. Se trata de ir pulsando las flechas de cursor correspondientes conforme van apareciendo unas flechas por pantalla todo ello siguiendo el ritmo de la música...

En la sección arcade del juego hay un remix de super mario bastante gracioso :D

http://www.ffrserver2.com/indexwrap.html

Saludos                                
#51
General / Los ruidos de la GeForceFX...
30 de Enero de 2003, 12:41:52 AM
                                ¿Habéis escuchado los MP3s que han puesto en la page de Tom's Hardware (http://www.tomshardware.com/graphic/20030127/geforce_fx-06.html) en relación al análisis de la GeForceFX?...es una barbaridad, y encima la tarjetita ocupa además del puerto AGP, un PCI ya que éste se ve obstruido por el conducto de aire del ventilador que expulsa el calor al exterior. Y es que el bicho debe calentarse de lo lindo (me pregunto qué será de la pobre CPU que está justo detrás de la aceleradora :jaja:). En cambio la Radeon9700 es bastante silenciosa...

También se pueden ver en los benchmarks que las diferencias son mínimas sobre todo si tenemos en cuenta que la Radeon9700 salió hace medio año y encima es bastante más barata que la GeforceFX.

Lo dicho, nVidia empieza a dar signos de flaqueza...¿o es mi imaginación? :-?

Aquí tenéis, además del análisis de Tom's hardware, otro de HardOCP:

http://www.tomshardware.com/graphic/20030127
http://www.hardocp.com/article.html?art=NDIx

Saludos                                
#52
General / TCPA-Paladium: el final de la piratería?...
21 de Enero de 2003, 01:26:29 AM
                                el final de la piratería y de nuestra libertad?. He estado leyendo cosas sobre TCPA-Paladium y se me ponen los pelos de punta. Realmente pienso que es un ataque a la privacidad de los usuarios y me pregunto si esto realmente lo pueden hacer...no sé, cuesta trabajo creerlo pero parece que va en serio. Desde luego, desde lo de las torres gemelas nos están jodiendo por todos lados...Os recomiendo que leáis este FAQ sobre esta nueva tecnología de Intel (TCPA) y el nuevo software de MS (Paladium). Que sepáis que ya están apareciendo las primeras placas con el chip Fritz que es el primer chip con esta nueva tecnología de Intel. Tal vez esté llegando el momento de ir dando el salto a Linux y que le peten a MS...

TCPA-Paladium FAQ: http://bulmalug.net/body.phtml?nIdNoticia=1398

...las cosas se están poniendo chungas :-?

Saludos                                
#53
General Programadores / Add-Ins para VC++ 6.0
28 de Diciembre de 2002, 12:04:40 AM
                                En esta page http://www.wndtabs.com encontraréis algunos add-ins interesantes para visual c++ 6.0. Por ejemplo, tenéis uno que despliega tabs para cada documento que tengáis abierto (como tiene ahora el .NET). También hay otro que te cuenta las líneas de código de los proyectos...

Saludos                                
#54
                                ¿Qué archivos son necesarios para distribuir una aplicación creada con C++ Builder?. Decir que los packages los compilo junto con el ejecutable pero aún así pide alguna DLL. ¿Sabéis si existe algún pack con los archivos a distribuir con la aplicación?

Gracias.
                               
#55
General Programadores / Normalización
01 de Enero de 1970, 01:00:00 AM
                                Hola a todos...resulta que unos colegas tienen mañana un examen de análisis y diseño de aplicaciones de gestión y han conseguido pillar las preguntas del examen y una de ellas va sobre la normalización de las tablas. Os pongo aquí el enunciado por si algún alma caritativa puede sacar la solución...

Se tiene la siguiente base de datos, con una única tabla que gestiona la información de los vehículos, vendidos ya o no, de una compra-venta.

Matricula
Precio
Kilometros
DNIVendedor
NombreVendedor
DireccionVendedor
DNICliente
TfnoCliente
FormadePago

Desglosar en varias tablas, en tercera forma normal

Muchas gracias de antemano...mis compañeros os lo agradecerán :riendo:

Saludos
                               
#56
General Programadores / ¡Ayuda! :)
01 de Enero de 1970, 01:00:00 AM
                                Hola a todos.

Bueno, como la mayoría sabéis estoy programando con un colega un motor 3D.

Hasta ahora todo el trabajo ha sido de render cosa con lo que estoy habituado y no ha habido excesivos problemas. El problema llega ahora que estamos a punto de afrontar todo el tema de las colisiones (en lo cual soy un novato :sonriendo:).

Resulta que tenemos lo que es el nivel y funciona todo muy bien. La geometría del nivel se maneja a través de un sistema BSP/PVS a través del cual recojo todas las faces potencialmente visibles, las desgloso en faces solidas y faces translúcidas, las ordeno por shader para evitar en lo máximo los cambios de estado (tanto de render como de textura) y las mando al procesador de shaders el cual transforma la geometría y entonces renderiza (primero las faces solidas y despues las translúcidas).

Pero ahora tenemos que meter los modelos, es decir, los objetos decorativos, los personajes, etc...o sea, todo aquello susceptible a ser movido. Aunque el problema no radica ahí exactamente. La cosa es que si renderizo los modelos y el nivel por separado es evidente que se producirán fallos a la hora de calcular el blending, es decir, si renderizo primero el nivel y después los modelos, es realmente sencillo (de echo ocurrirá :sonriendo:) que a través de un cristal no se viera el modelo que debería verse. Si lo hago al contrario, es decir, primero renderizo los modelos y despues el nivel pues es más complicado que se produzca una situación así pero también es probable...se me ocurre el caso de un modelo translúcido (porque ha pillado el item de la invisibilidad :ojo:) a través del cual no se ve el nivel...

Viendo todos estos problemas llegué a la conclusión (bastante rápidamente) de que tendría que meter todo en el mismo saco (nivel y modelos) y desglosar, al igual que hacia con el nivel, las faces solidas de las translúcidas, procesar a través de los shaders y pintar...pero claro, esto presenta un inconveniente y es que ya no puedo utilizar las funciones de transformación del API (SetTransform en el caso de Direct3D) para mover, rotar, escalar, etc los modelos. Así que supuse que todo esto lo tendría que hacer "a mano", o sea, transformar cada vértice de la geometría (sólo de los modelos ya que el nivel sería estático y ya está en coordenadas de mundo) por la matriz de transformación correspondiente...pero entonces pensé que esto debía ser bastante cargante para el motor aunque por otro lado supuse que así es como se hacía a la hora de la detección de colisiones. Es por esto que pido vuestra ayuda para ver si puedo solucionar todo esto de la mejor forma posible, es decir, ¿es una locura transformar los vértices uno por uno por su matriz de transformación?...estos vértices ya transformados me servirían después para calcular las colisiones ¿no?...aunque también deduzco que para el tema de la detección de colisiones primero transformaríamos a nivel de bbox (o lo que utilicemos), veríamos si hemos colisionado y si es así transformaríamos los vértices lo cual sería mucho más barato en terminos de proceso ya que no transformaríamos los vértices de todos los modelos...sólo los que perteneciesen a los modelos con los que hubiese colisión...

Entended que nunca he afrontado esta parte de un motor 3D por lo que estoy casi en blanco :sonriendo:

¡Un saludo y gracias!
                               
#57
Programación gráfica / Portal Rendering...
01 de Enero de 1970, 01:00:00 AM
                                Hola a todos.

Hace tiempo que llevo dándole vueltas al tema del portal rendering...no ya al funcionamiento del mismo (que en mayor o menor medida está claro) sino al diseño de los niveles basados en esta técnica.

En un principio pensé en utilizar MAX para crear los niveles y posteriormente con un plugin propio exportar todo a mi propio formato. Ciertamente la cosa parecía viable...incluso los portales (que se asignarían manualmente) podrían ser primitivas de tipo shape. Pero el problema se presentó a la hora de definir un sector...¿qué es un sector?. Está claro que un sector es un conjunto de polígonos de los cuales, alguno/os de ellos puede/n ser portales (aunque tal y como lo pensé los portales no serían polígonos sino shapes como he dicho anteriormente)...pero el problema es...¿qué polígonos conforman un sector?...¿cómo defino en MAX un sector?. Una posible solución sería a cada polígono decirle "hey, tu perteneces al sector 13"...pero supongo que esto no debe sentarle nada bien al diseñador de niveles ni al polígono (si es supersticioso :sonriendo:

Es por esto que pido vuestra opinión acerca del tema...¿creeis que es viable desarrollar los niveles (basados en portales/sectores) con MAX de una forma (relativamente) sencilla?...si es así...¿cómo lo planteariais?.

Yo por el momento seguiré con el BSP/PVS :sonriendo:

Lo que está claro es que el siguiente paso sería basar el engine en un sistema así ya que como dijo Drácula en un post anterior, lo que la gente busca cada vez más es una interacción mayor con el entorno del juego (aunque también unos buenos gráficos y una gran velocidad de proceso) y esto se consigue creando un mundo en el que cualquier objeto pueda ser movido, eliminado, insertado o lo que sea en tiempo de ejecución y esto se consigue con el sistema de portal rendering (aunque no sea el único).

Muchas gracias y un saludo.

PD: Otra solución podría ser crear un editor de niveles propio...pero claro, si no sé como plantear el diseño...¿cómo voy a saber qué capacidades meterle a la hora de su desarrollo?

[ Este Mensaje fue editado por: BeRSeRKeR el 2002-03-16 13:49 ]

[ Este Mensaje fue editado por: BeRSeRKeR el 2002-03-16 13:51 ]                                





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.