Potencia, efectos y mas...

Hala, pues para ver si entre los jefecillos del foro en el tema hard y demás nos pueden aclarar y explicar algunos temas de hard y efectos gráficos que a mi personalmente me interesan bastante.Sería interesante explicar aki los efectos gráficos de los que alardea nuestra consola así como de otros datos técnicos más generales o porque no, de otras consolas( que aki, pienso que a todos nos interesa aprender de todos).
Yo empezaría con lo que es el:
LOD:Al parecer level of detail

Y por un análisis un poco más exhaustivo del bump maping( como se implementa, tipos, que elementos hard hacen falta), y no vale responder" Si, es ese efesto tan chulo que tiene halo que hace que las piedrecitas parezcan rugosas".
Espero que la idea tenga exito.
pues en beyond3d tienen un glosario sobre todos esos términos, aunque está en ingles http://www.beyond3d.com/words/index.php
y en el foro creo que tb hay un hilo sobre ello
si, si haberlo lo habia, pero había muchísimas cosas de las que no se hablaba, y algunas de las que se hablaba muy por encima....
Por eso, de buenas a primeras, me gustaría conocer TODO sobre el bump maping, desde cuando se implementa, con que hardware y las variantes qeu pueda tener( polybump y demás historias con las que me pierdo).
espero no estar pidiendo demasiado, pero por intentarlo que no quede....A mi personalmente son los hilos que más me interesan en la que peña como shadow land y compañía empiezan a hablar sobre cuestiones técnicas, y son con los que más, creo, aprendemos todos.

Bueno empezaré yo con lo que creo que se( hala para que me corrijan).
Bump maping es un efecto que se aplica a las texturas mediante motores de pixel shading, que consiste en el sombreado de los ¿pixels? dependiendo del ángulo que se muestre, dando una sensacion de rugosidad o de relieve( ejemplos mayoría de carreteras de los juegos de coches de xbox, el hielo del rallisport challeng,la paredes metálicas de halo...etc etc etc....)
Sí, el bumpmapping consiste en eso que has explicado.

Hay un archivo bitmap con la textura y un archivo con un mapa de alturas que se va a aplicar sobre la textura. Este mapa de alturas indica qué altura teórica tiene cada pixel de la textura (que es totalmente plana). Luego, cuando incide una luz sobre dicha textura se hacen los cálculos pertinentes para aplicar ese mapa de alturas.
Adjunto un ejemplillo en 2D para que te hagas una idea de cómo funciona internamente ;).
Ah, y no hacen falta elementos hard específicos (de hecho en el ejemplo todo se mueve a través del procesador), pero se trata de un efecto que consume muchos recursos, y a día de hoy es impensable ponerlo en práctica sin usar aceleración hard (pixel shaders).

LOD, o Level of Detail, como dices es el nivel de detalle poligonal que tiene en cada momento un elemento del juego en un momento dado, y normalmente viene dado por la proximidad del mismo a la cámara.
Un ejemplo sencillote sería un personaje que a corta distancia tuviese, por ejemplo 5000 polígonos, para planos detallados, a distancia media, 3000, y a gran distancia, 1500.
Se utiliza para ahorrar proceso, ya que en un modelo con mucha carga poligonal a gran distancia no se van a apreciar los detalles, y por lo general, a mayor campo de visión, mayor cantidad de elementos en pantalla.
Esta técnica no es exclusiva para la cantidad de polígonos, también es aplicable a las texturas, efectos o lo que se tercie.
El motor gráfico del juego de PC Messiah fue uno de los máximos exponentes de esta técnica, ya que calculaba dinámicamente el nivel de detalle en cada frame aplicando fórmulas de reducción de polígonos, cuando la práctica general es establecer una distancia límite y crear varios niveles de detalle.

Adjuntos

el motor que cometas, el de Messiah, lo llevan usando desde entonces (Enter the matrix incluido).

Ademas, aplica también el real time tessellation, que es otra tecnica, que salvo este engine, solo se aplica en las silicon Graphics, que genera una "piel" por encima de la malla polígonal, que aún con pocos polígonos, da sensación de mayor suavidad entre vertices.

Y si, messiah era impresionante en su momento, y Sacrifice, q salio poco despues, se meaba en cais cualquier otro juego 3D del mercado

Salu2
y que juegos llevaban el sacrifice? quienes fueron los creadores de ese motor?

es que sabeis tanto que no haceis mas que dar ganas de preguntar :p
sacrifice lleva el mismo motor que messiah, y a su vez, es el mismo que se ha usado en enter the matrix.

Y no, parece ser que Shiny entertainment, no licencia su tecnología (o yo no tengo conocimento de ello...)

Salu2
Tenía entendido que ETM usaba Lithtech. ein? A lo mejor no se trataba de ese juego, sólo sé que se basaba en la licencia Matrix.
Escrito originalmente por Zhul
Tenía entendido que ETM usaba Lithtech. ein? A lo mejor no se trataba de ese juego, sólo sé que se basaba en la licencia Matrix.


no será el de ubisoft? ese de rol persistente?
No, Lithtech es la empresa que lo hace. Tiene unas cuantas variantes dependiendo del tipo de juego al que quiera ir enfocado.

Ahora mismo se ha usado (que yo sepa) en No One Lives Forever 2, y se está usando en Blood3. Luego me comentaron (antes de que saliese ETM) que se estaba usando en un juego sobre Matrix, me imagino que sería el juego online de PC.

EDIT: vale, te he entendido mal, creía que te referías a un motor de Ubi, no al juego :P.
De todas formas, y aunque no venga a cuento, dejo lo anterior como nota informativa [ginyo] .
me referia a eso, a que ubi soft estaba usando dicho motor (que ubi soft, no tienen motor propio, por extraño que parezca... parece que les va bien con el unreal engine XD).

El lithe tech 2 es la caña, y el uno se uso en bastantes juegos, desde el Blood 2, pasando por el maravilloso ShoGo...

Salu2
Hará cosa de un año, antes de la salida de Unreal2, Lithtech era el motor licenciable más potente.
Se va actualizando cada poco tiempo, pero hoy en día ya no está a la altura de los mejores.

Por cierto, Ubi tira mucho de Unreal engine, sí, pero... ¿Prince of Persia y Beyond Good&Evil también lo usan? Porque no me lo parece en absoluto, y no tengo ni idea de qué motor puede ser. ¿Alguna idea?
Beyond no tengo ni pajolera idea, pero me imagino que será un motor propietario, ya que el creador es el de rayman, y esl el tipico "oldschool", es decir, motor especifico para cada juego...


PoP... ni zorra, podría ser el unreal engine... pero no sabría que decir,por que todas las sombras son offline, lo mismo la iluminación... no se, no se... y en los creditos, creoque no sale nada de nada... así que igual es propietario...
Aunque parezca extraño, llevan el mismo motor. Lo que no sé es cuál. Y me llama la atención porque los de Ubi han estado fardando bastante de motor con PoP y BGE, y la verdad es que tampoco sé a santo de qué.
Escrito originalmente por Zhul
Aunque parezca extraño, llevan el mismo motor. Lo que no sé es cuál. Y me llama la atención porque los de Ubi han estado fardando bastante de motor con PoP y BGE, y la verdad es que tampoco sé a santo de qué.


pos será por facilidad de desarrollo, por que por calidad gráfica y efectos,no es XD
Vale, he investigado y ya estoy enterado XD.

El motor que usan es el JADE engine, desarrollado por la propia Ubi para BGE. Luego vieron que iba muy bien y que era adecuado (además de propietario y por lo tanto gratis ;)) y decidieron usarlo en PoP.
Destacan de JADE la facilidad y calidad que ofrece en las animaciones, carga dinámica transparente, lightmaps... [maszz] bueno, nada revolucionario, pero supongo que fardarán de motor simplemente porque lo han hecho ellos mismos [tomaaa].

Como curiosidad, añadir que el sistema de telas y cortinas de SplinterCell fue copiado (literalmente, lo robaron XD) del sistema de cuerdas de PoP.
Pero bueno, digamos que el intercambio de tecnología entre los equipos de SC y PoP/BGE fue constante.

Ah, y estas en lo cierto, shadow, el motor es obra del creador de Rayman ;).
Escrito originalmente por Zhul
No, Lithtech es la empresa que lo hace.


No, caballero.

Lithtech es de MONOLITH, y por cierto, nunca demostro ser superior a engines como los de Q3 o unreal.

Saludos.

pd. no habia un glosario de terminologia 3D en noticias3D? (aunq supongo q sera bastante incompleto)
Escrito originalmente por GXY
Lithtech es de MONOLITH, y por cierto, nunca demostro ser superior a engines como los de Q3 o unreal.

No tengo muy claro cuáles son las relaciones jerárquicas en esa empresa, pero creo que lo que antes era Lithtech ahora es Touchdown Entertainment, que supongo que serán propiedad de Monolith. De cualquier manera estoy convencido de que en su día hubo una empresa llamada Lithtech que ofrecía dos motores : Jupiter y Talon. Y tengo documentos que lo corroboran.

Sobre la superioridad sobre Q3 o unreal te doy la razón en una cosa: no la ha demostrado.
Pero en motor es netamente superior, amén de incluir ya las herramientas de física, IA, scripting, etc. que con los otros dos habría que licenciar por separado.

De todas formas, échale un vistazo a estas demostraciones.
video1
video2
lithtech era propiedad de monolith, efectivamente, era una "sub-division" dedicada al diseño y desarrollo de engines.

Y sobre si es bueno o mal, pues en cierto modo, Tron 2.0 es graficamente impresionante...

Salu2
Escrito originalmente por shadow land
lithtech era propiedad de monolith, efectivamente, era una "sub-division" dedicada al diseño y desarrollo de engines.


una cosa mas que se.

Escrito originalmente por shadow land
Y sobre si es bueno o mal, pues en cierto modo, Tron 2.0 es graficamente impresionante...


tambien es el ultimo, pero por ejemplo blood II en su momento era una patatilla...y salio despues de Quake III.

Saludos.
Escrito originalmente por GXY

tambien es el ultimo, pero por ejemplo blood II en su momento era una patatilla...y salio despues de Quake III.

Saludos.


un engine no muestra su calidad por ciencia infusa, necesita de artistas que saquen la bestia que tiene dentro...

El engine esta ahí, luego solo hace falta exprimirlo.
Escrito originalmente por GXY
tambien es el ultimo, pero por ejemplo blood II en su momento era una patatilla...y salio despues de Quake III.

Lithtech ha estado haciendo engines desde hace bastante. Como dices, Blood2 ya llevaba un engine suyo.
Pero nos estamos refiriendo al "Lithtech2" o Jupiter, que no tengo claro si es una versión mejorada o si se rescribió completamente.
Y este Jupiter, usado en NOLF2, Tron2.0 o Blood3 entre otros es más avanzado que los engines de Q3 o Unreal/UnrealTournament (que no Unreal2).
Zhul, respecto al programilla que has pasado de bump mapping, ¿lo has hecho tu? Si es así, ¿que lenguaje has utilizado, C, C++? ¿Hace falta saber de DirectX?
Escrito originalmente por gonella
Zhul, respecto al programilla que has pasado de bump mapping, ¿lo has hecho tu? Si es así, ¿que lenguaje has utilizado, C, C++? ¿Hace falta saber de DirectX?

No, no lo he hecho yo, es sólo un ejemplillo que tenía por ahí que creí que podría ser muy didáctico ;).
Este ejemplo está hecho en ensamblador (x86 por supuesto), lo cual es un poco... cafre.

Se puede hacer en cualquier lenguaje (aunque C/C++ es el que mejores resultados va a dar, por rendimiento) y con cualquier API (directx u opengl facilitan mucho las cosas). Incluso se puede, como es el caso, pasar de lenguajes de alto nivel y de API's y hacerlo a saco, en ensamblador, aunque no es recomendable para la salud mental de nadie.

Si quieres hacer algo de esto, Directx facilita mucho las cosas, por el tema del uso de shaders. También con CG ó HLSL (que son básicamente lo mismo) se pueden hacer unos efectos gráficos impresionantes usando shaders y sin demasiado esfuerzo.
Escrito originalmente por Zhul
Y este Jupiter, usado en NOLF2, Tron2.0 o Blood3 entre otros es más avanzado que los engines de Q3 o Unreal/UnrealTournament (que no Unreal2).


return to castle wolfenstein y medal of honor allied assault usan el engine de Q3, y yo los veo mas avanzados que NOLF2.

Tron 2.0 tiene un excelente trabajo de diseño, pero tampoco es tan avanzado tecnicamente, aunque si tiene su merito.

Blood3 no lo he visto.

Lo que quiero decir, es que ID esta donde esta, Epic esta donde esta, valve esta donde esta, bungie esta donde esta y monolith esta donde esta, por sus propios meritos, y no por los trabajos derivativos de diseño que se hayan hecho con sus engines.

(con las posibles excepciones de valve, sobrevalorada por los mods de half life cuando sus propios trabajos derivativos de halflife - sus dos continuaciones y gundam chronicles - no llegaron a ninguna parte. y Bungie, que en mi opinion esta sobrevalorada en cierta medida como consecuencia de cierta medida de sobrevaloracion existente con halo)

Saludos.

pd. me temo que nos hemos llevado el offrolling un poco lejos, y mayormente por mi culpa. sorry filete.
El Alien vs Predator 2 tb uso motor Lithtech cuando salió q fue despues del Q3, y el uso de este motor en el juego me pareció increibe, ambientes muy logrados etc... mira q vicié a ese juego [babas].

Ahora dicen q estan trabajando en el AvP3 con otro motor lithtech q estan desarrollando, a ver q tal les keda [babas]

salu2
Escrito originalmente por Limelight
El Alien vs Predator 2 tb uso motor Lithtech cuando salió q fue despues del Q3, y el uso de este motor en el juego me pareció increibe, ambientes muy logrados etc... mira q vicié a ese juego [babas].

Ahora dicen q estan trabajando en el AvP3 con otro motor lithtech q estan desarrollando, a ver q tal les keda [babas]

salu2


cierto, el AvP2, ya no me acordaba, es impresionante el juego en su ambientación...

Salu2
si te moló el ejemplo de Bumb que puso Zhul prueba a mirarte la página de Nehe.
Hay muchos tutoriales en inglés (pero se entienden) de openGL, entre ellos, maravillas como el Bump Mapping o el Cell Shading. Pero los tutoriales empiezan des de 0, o sea, desde como pintar tu primer poligono, poner texturas, luces... luego se desfasan.
la web es:
http://nehe.gamedev.net/

al final de cada tutorial os podeis bajar el código compilable con el visual y con el "exe" para ejecutarlo... flipas maravillas!

Y ya de paso, jeje, con un coleguilla estamos preparando un jueguezito poco a poco. Tenemos una version de lo que va a ser el mapa, si os lo queréis bajar también os pongo la dirección:
http://www.salleurl.edu/~tm09298/
Primero teneis que ejecutar el "editormapes.exe" que a partir de "mapa.bmp" os crea el "mapa.dat" (de 16 MB, con las normales calculadas y todo eso), luego ya podeis ejecutar el "ProvaBMP.exe" (está todo en catalan pero se entiende,no?). Y dentro de la ventana de openGL, para salir pulsais boton derecho y os saldrà un submenu (no pulseis "reiniciar"... es un bug).

Si os apetece, modificais el mapa.bmp a vuestro gusto y asi os creais nuevos mapas (como en motocross madness), las zonas negras son zonas con agua.
Las texturas tienen que estar a 24bits y el mapa.bmp a escala de grises (8 bits) i de tamaño 1024x1024.

Ya me direis q os parece, q necesitamos opiniones! :p
Xau!

PEP
pd. me temo que nos hemos llevado el offrolling un poco lejos, y mayormente por mi culpa. sorry filete.

joder, tranqui, queyo estoy encantado derive por donde derive, estoy encantando de leer todo lo que estais poniendo....

Bueno, yo sigo preguntando..... Que por preguntar no sea.
Puesto que para el bump maping se utilizan pixel shaders... para que sirven exactamente los vertex shaders??
Que versiones hay?( me suena vertex shaders 1.0 y 2.0 y pixels shaders 1.0 y 1.4, pero bueno, a saber como serían en realidad).
De Cúanta carga l.ibera al procesador,y de que manera lo hace ?
para el agua se utilizan pixel shaders, pero el agua se mueve, y entonces no solo cambia el "sombreado" dependienteo del punto de vista, sino evidentemente con el movimiento del agua...pero la textura sigue siendo plana....ese, por asi decirlo cambio de perspectiva o de reflejo que da la sensación del movimiento del agua, lo calcula el procesador?

Y sobre motores gráficos, los que utilizan compañias japonesas, para juegos como panzer dragoon orta o zone of enders 2, o el maravilloso ico....Son todos motores propietarios???
Y ya que estamos, en que estriba la dificultad de programar para ps2?Hay que programar a muy bajo nivel, o la dificultad estriba en el propio emotion engine, que requiere una programación muy específica???

por cierto gracias a todos por vuestras sapientes aportaciones [fumando]
Escrito originalmente por GXY
pd. no habia un glosario de terminologia 3D en noticias3D? (aunq supongo q sera bastante incompleto)


No se si te refieres al hilo q cree hace ya mas de un año:

DICCIONARIO: Terminologia 3d e informatica.

Por cierto chicos, muy interesate este hilo, me he enterado de muchas cosas q desconocia ;)

Salu2
Escrito originalmente por filetefrito

Puesto que para el bump maping se utilizan pixel shaders... para que sirven exactamente los vertex shaders??


los vertex shaders, sirven para lo mismo que los pixel, pero para vertices (lo que forma los polígonos), basicamente generan matrices de polígonos, y las puedes deformar o animar o lo que te de la gana (menos crearlas y destruirlas, por desgracia), pero en DirectX 8.1 había un limite de matrices que si no me equivoco, rondaba las 6 matrices máximas para temas de animación, que en general, puede dar para hacer perfectamente las animaciones por esqueletos. Por eso, en xbox por ejemplo, hacer animaciones complejas es más dificil que en una PS2 a nivel de software, si quieres liberar a la CPU de este trabajo.



Escrito originalmente por filetefrito
Que versiones hay?( me suena vertex shaders 1.0 y 2.0 y pixels shaders 1.0 y 1.4, pero bueno, a saber como serían en realidad).


en el mercado esta hasta la versión 2.0 (Ati Radeon 9500 en adelante), la 2.0+ de nVIDIA es un churro a medio camino entre la norma 1.4 y la 2.0, que añade funciones exclusivas, y por eso la llamaron así, pero digamos, que actualmente, nVIDIA no tiene ni un solo producto en el mercado que cumpla con la norma DirectX 9 / OpenGL 2.0.


Escrito originalmente por filetefrito
De Cúanta carga l.ibera al procesador,y de que manera lo hace ?


pues depende de como se utilice, desdse mucha, hasta poca o nada. PGR 2 por ejemplo, a todas luces, no usa la CPU para animar nada de la escena (o casi nada), por que si no, no estariamos moviendo más de 30 millones de polígonos de media por segundo, con todos sus efectos, más todo lo demás (física, sonido, IA...)

El otro ejemplo, es Wreckless, que todo el tema gráfico lo lleva la GPU, y los desarrolladores, incluso creen que se pueden hacer juegos completos con una xbox sin usar la CPU más que para sonido, IA y manejo del PAD. Y la prueba, es la competición de Beyond3D, donde hay juegos completos que "solo" usan la GPU.


Escrito originalmente por filetefrito
para el agua se utilizan pixel shaders, pero el agua se mueve, y entonces no solo cambia el "sombreado" dependienteo del punto de vista, sino evidentemente con el movimiento del agua...pero la textura sigue siendo plana....ese, por asi decirlo cambio de perspectiva o de reflejo que da la sensación del movimiento del agua, lo calcula el procesador?


Ese efecto se peude realizar de dos maneras, la "facil" es usando una textura animada con bump mapping, que genere el efecto, y luego, aplicar encima el shader correspondiente para que de el pego la iluminación. La otra, es usar una malla 3D generada por Vertex shader, y crear un efecto "bandera" que es MUY facil de generar (son 3 o 4 lineas de codigo en lenguaje C y openGL).


Escrito originalmente por filetefrito
Y sobre motores gráficos, los que utilizan compañias japonesas, para juegos como panzer dragoon orta o zone of enders 2, o el maravilloso ico....Son todos motores propietarios???


si, los japos, como algúnos occidentales, en general, siguen pensando que el mejor engine, es el que se hace en exclusiva para el juego (y tienen razón), el único problema, es que puedes redundar siempre sobre los mismos errores y problemas. El otro, es que tardas algo más en generar el código, pero la ventaja, es que lo conoces al 100% y te cuesta relativamente poco modificarlo o añadir funciones nuevas. Eso si, tener motores propietarios para cada juego, no los hace mejores, aunque tampoco peores.


Escrito originalmente por filetefrito
Y ya que estamos, en que estriba la dificultad de programar para ps2?Hay que programar a muy bajo nivel, o la dificultad estriba en el propio emotion engine, que requiere una programación muy específica???


estriba en la propia CPU, y el echo, que para sacar provecho, se tiene que programar cada unidad vectorial por separado (como si fuesen 2 CPU's), y eso, es DIFICIL de llevar a cabo, sobretodo, de una manera coordinada, que no machaque una de las unidades, y deje casi libre la otra, o sature las dos, o no sature ningúna...

Para eso se crea el proyecto CELL, para que sea en principio, el propio procesador sea quien reparta la carga entre las diferentes unidades vectoriales, esto provocará que se les saque mucho antes partido global a PS3, que a ps2, por contra, traera otros problemas, y es que dependiendo de como las diseñen, la potencia total, no será la suma de las unidades, así como, seguramente, NUNCA se llegue ni remotamente al 100% de las unidades, si estas estan 100% controladas por la maquina, y no por el programador.

Escrito originalmente por filetefrito
por cierto gracias a todos por vuestras sapientes aportaciones [fumando]


de na joer
los vertex shaders, sirven para lo mismo que los pixel, pero para vertices

los vertices serían los vertices de los triangulos??
No recuerdo bien, pero, un triangulo se podía representar por un vector??? O 3 coordenadas se podian representar con un vector??
y las puedes deformar o animar o lo que te de la gana (menos crearlas y destruirlas, por desgracia)

Eso es algo que no pillo. Como deformar polígonos sin hacer que el resultado ( o esa deformación ) esté creado por más poligonos que el original??
Por cierto, cuando hablamos de millones de poligonos por segundo, hablamos de triangulos no??

Bueno y por ahora, no se me ocurren más preguntillas, a ver si la peña se anima.....
Y en serio, muchísimas gracias porque para mi es un placer tener a gente como vosotros que se tome la molestia respondiendo las preguntas de la gente que como yo os incordia con preguntas que probablemente para vosotros sean como el abc.
THANX PEÑA.
Escrito originalmente por filetefrito

los vertices serían los vertices de los triangulos??
No recuerdo bien, pero, un triangulo se podía representar por un vector??? O 3 coordenadas se podian representar con un vector??


un vertice, es un punto en el espacio, es decir, una simple coordenada, un vector, es una dirección en el espacio. En el mundo 3D, esto se puede entender, como esa recta que une dos vercites (vector que forma polígonos), o los vectores de forma (que se usan para cosas como las curvas Bezier).



Escrito originalmente por filetefrito
Eso es algo que no pillo. Como deformar polígonos sin hacer que el resultado ( o esa deformación ) esté creado por más poligonos que el original??


No puedes crear una nueva matriz. Ni crear nuevas formas polígonales mediante los vertex shaders. Es decir, tu tienes una maya original, y la puedes modificar mediante dichas matrices (si estas en la universidad, y estudias algebra, sabras de lo que hablo, si no, te costará más entenderlo). Pero mediante las matrices de Shaders, no puedes crear ni destruir estructuras polígonales. Eso si, esto, no quiere decir, que no generes funciones shaders que crean y destruyan polígonos, pero serán siempre de una forma determinada (con la especificación 3.0 creo que esto cambiará, y si no, cambiará finalmente con la versión 10 de DirectX, que se preveé, que las tarjetas gráficas, sean auténticas CPU de uso "casi general", pero para gráficos).

Escrito originalmente por filetefrito
Por cierto, cuando hablamos de millones de poligonos por segundo, hablamos de triangulos no??


si, hay pocos sistemas que usen como primitiva los quads (cuadrado), el único sistema domestico, si no me equivoco, fue Saturn.
Este tipo de hilos me encantan. XD
¿Se sabe algo de ese motor grafico que usaba fractales en lugar de poligonos? Es que yo lo estube pensando durante un tiempo y me parecio algo tan complicado que no llegue a comprender como se podria implementar.
Por cierto ya que veo que estais puestos en el tema ¿Conoceis algun tuto de directx en español? Es que me ha dado la vena de empezar a programarme algo de este estilo pero no encuentro nada de nada en nuestro idioma.
Escrito originalmente por franaloper
Este tipo de hilos me encantan. XD
¿Se sabe algo de ese motor grafico que usaba fractales en lugar de poligonos? Es que yo lo estube pensando durante un tiempo y me parecio algo tan complicado que no llegue a comprender como se podria implementar.
Por cierto ya que veo que estais puestos en el tema ¿Conoceis algun tuto de directx en español? Es que me ha dado la vena de empezar a programarme algo de este estilo pero no encuentro nada de nada en nuestro idioma.


fractales... carmack lo abandono por falta absoluta de potencia (era el famoso proyecto "trinity").

DirectX en español? que yo sepa, na de na. Y por facilidad, es más facil OpenGL... pero bueno, puestos a aprender :P
Escrito originalmente por shadow land


fractales... carmack lo abandono por falta absoluta de potencia (era el famoso proyecto "trinity").

DirectX en español? que yo sepa, na de na. Y por facilidad, es más facil OpenGL... pero bueno, puestos a aprender :P

¿Es mas facil opengl? Estooooooo queeeee ¿Quien habia dicho directx? XD
¿Algun tuto interesante in spanish?
Escrito originalmente por franaloper

¿Es mas facil opengl? Estooooooo queeeee ¿Quien habia dicho directx? XD
¿Algun tuto interesante in spanish?



ningúno XD

Bueno, es más "facil"... entrecomillado, nada más.

Salu2
Bueno...Pues a raiz del hilo de riddick, he decidido reflotar este hilo con una de mis habituales preguntillas.

¿Que es la iluminación global?(Efecto que usa wreckless, como se, eh??jejeje?
¿Que es la iluminación dinamica , y que es iluminación volumétrica( algo de lo que si no me equivoco hace gala el deus ex 2, o eso prometian...)?
Venga, que os veo con ganas de contestar( algun dia os tendré que invitar a algo.jeje)
iluminación global: En entornos dinamicos, se trata de simular el sistema de iluminación del sol, que ilumina todo, pero también genera sombras. Wreckless es el ejemplo, que como en la realidad, hasta zonas en sombra, esta relativamente iluminadas gracias a la intensidad de la luz

dinamica: un foco (faro de un coche, linterna, etc, etc...) ilumina lo que tiene en su campo de acción de forma dinamica. Un ejemplo de esto es la linterna de Silent Hill, o la de HALO (aunque la de HALO no me gusta tanto). Un ejemplo de lo que no es esto, es GTA, que en su versión PS2 plancha una textura que imita el radio de acción de las luces, y las plancha y deforma sobre el entorno. No recuerdo si en xbox esto es igual o no.

Volumetrica: Igual a la anterior, pero con un radio maximo de acción. Es decir, una linterna no ilumina 2km más allá como ocurre en half life, ilumina unos pocos metros, en este caso, esto es lo mismo. Esto se puede aplicar igual a las sombras volumetricas, que dependiendo de la intensidad de la luz (distancia del foco al objeto que emitira la sombra) generara una sombras mas o menos intensa, incluso la podría generar de forma parcial, o con penumbras)
Escrito originalmente por filetefrito
¿Que es la iluminación global?(Efecto que usa wreckless, como se, eh??jejeje?

Mmm... ¿Iluminación global? ein?
A mí no me suena demasiado, lo más parecido que me viene ahora mismo a la cabeza es poner una sola fuente de luz que ilumina todo el escenario de determinada manera (con su color, ángulo de incidencia, proyección de sombras...). Es una técnica muy adecuada para iluminar escenarios abiertos.

O al menos creo que te refieres a eso.

¿Que es la iluminación dinamica

Es aquella en la que las fuentes de luz son elementos dinámicos, mediante la cual toda la iluminación y sombreado del mapa/escenario es recalculada en cada frame (o toda la que haga falta), mientras que con iluminación estática sólo se calcula la iluminación sobre los personajes y demás elementos móviles (y no siempre es así).

Es decir, por ejemplo en Doom3, máximo (y único ;)) exponente de la iluminación puramente dinámica, cuando en una habitación hay una lámpara columpiándose, ves como toda la iluminación y sombreado que produce varía según su movimiento.

, y que es iluminación volumétrica( algo de lo que si no me equivoco hace gala el deus ex 2, o eso prometian...)?

La que usa volúmenes de luz en lugar de luces puntuales. En un sistema con luces puntuales, cada fuente de luz es un punto que emite una luz (normalmente esférica, o lightmaps) con determinado color, radio, etc.
Siendo la luz volumétrica... pues eso, que en lugar de ser una fuente puntual con coordenadas xyz, la fuente de luz es un objeto con volúmen, con todo lo que ello conlleva.
Joder, a estas velocidad no me da tiempo a pensar la siguiente pregunta....
a ver, sobre el gta, en ese caso las "luces" sobre la carretera serían una "textura" del color de la luz( normalmente blanca) que se desplaza sobre los escenarios manteniendo la posición sobre la fuente de luz ( los focos).
Pero por ejmplo, la linterna de halo, si no recuerdo mal, no alumbraba a todo, había cosas sobre las que no aparecía la luz(creo recordar que los arboles) y cosas sobre las que si( las paredes).. como pasa eso siendo la luz dinámica??
Son necesarios algun tipo de shaders para las luces dinámicas??

Y si no recuerdo mal, he leido algo sobre self shadowing. Sería lo que por ejemplo se ve en las fotos de riddick, en la que el cuerpo produce sombras sobre si mismo, ?los pliegues de la ropa, un miembro sobre si mismo( cuando digo miembro, me refiero a un brazo, extendido o plegado a ver que entiendes, jeje)??
Escrito originalmente por filetefrito
Pero por ejmplo, la linterna de halo, si no recuerdo mal, no alumbraba a todo, había cosas sobre las que no aparecía la luz(creo recordar que los arboles) y cosas sobre las que si( las paredes).. como pasa eso siendo la luz dinámica??
Son necesarios algun tipo de shaders para las luces dinámicas??

El efecto de la linterna en Halo está compuesto de 2 elementos (o es lo que yo capto, al menos): luz dinámica volumétrica (es un foco, aproximadamente con la forma de un cono) y el shader que hace el dibujo en la superficie sobre la que se proyecta, para que parezca una linterna de verdad, no como en otros juegos en los que la linterna que se limita a la luz, dando una sensación de menor realismo.

Si no se aprecia iluminación sobre ciertas superficies, una de dos: o es un despiste, o simplemente no se aprecia porque el nivel de iluminación es demasiado alto como para que se aprecie la diferencia, como ocurre en realidad (si enciendes una linterna a plena luz del día no se va a ver cómo ilumina).

No, necesarios no son los shaders, pero sí son muy útiles para reflejar ciertos efectos que produce la luz (sombreados, brillos, reflejos...).

Y si no recuerdo mal, he leido algo sobre self shadowing. Sería lo que por ejemplo se ve en las fotos de riddick, en la que el cuerpo produce sombras sobre si mismo, ?los pliegues de la ropa, un miembro sobre si mismo( cuando digo miembro, me refiero a un brazo, extendido o plegado a ver que entiendes, jeje)??

Sí, es eso exactamente.
el hecho de tener iluminación dinámica, no implica que todos los objetos emitan sombra, o se iluminen dinámicamente. Eso es cosa de los programadores, sin más.

Salu2
Escrito originalmente por shadow land
el hecho de tener iluminación dinámica, no implica que todos los objetos emitan sombra, o se iluminen dinámicamente. Eso es cosa de los programadores, sin más.

Claro, es que según el tipo de juego y el número de elementos que maneje, puede ser un infierno iluminarlo todo dinámicamente.

Lo normal es utilizar luces estáticas para los escenarios (lightmaps still r00lz) si son cerrados, o iluminación global si es abierto. Luego para los efectos y flipadas más vistosas se utilizan luces dinámicas.
Luego decidir qué cosas van a estar afectadas por la iluminación, cuáles van a proyectar sombras y demás es, como dice shadow, decisión de los desarrolladores, a menos que tengan a un clon de Carmack en plantilla que les haga un motor donde puedan obviar ese tipo de decisiones ;)

A día de hoy estos truquillos siguen siendo inevitables. Y tened bien presente una cosa: los videojuegos son un continuo engaño al ojo :P
Sí, es eso exactamente.

Joder, que bueno soy, jejjeejej

Supuestamente en doom3 todo estará iluminado dinámicamente y generando sombras dinámicas, no??
Para eso es necesario una tarjeta compatible con direct x9, o es posible hacerlo con tarjetas inferiores ( lease el chip de la xbox)?
Escrito originalmente por filetefrito

Joder, que bueno soy, jejjeejej

Supuestamente en doom3 todo estará iluminado dinámicamente y generando sombras dinámicas, no??
Para eso es necesario una tarjeta compatible con direct x9, o es posible hacerlo con tarjetas inferiores ( lease el chip de la xbox)?


En Doom 3 todo es dinamico en el sistema de luces y sombras, lo que ya no se, es hasta que punto las sombras son volumetricas (son penumbras, aparte del volumen) en el juego.

Doom 3, basa TODA su tecnología en la GeForce 256 (la primera), y usa los shaders para el sistema de bump y normal mapping (basicamente, aunque obviamente, acelera en las ultimas 3D el sistema de luces y sombras mediante shaders) donde lo hay, pero con texturas "planas" doom 3 correra en una GeForce de primera generación (como el culo, pero correra :P)

Salu2
Creo que hay algo que te interesaria bastante respecto al bump mapping y el pixel shader. Si tienes una ATI ve al siguiente enlace http://www.ati.com/developer/sdk/radeonSDK/html/Tools/RenderMonkey.html

Al final tienes el DirectX 9 SDK y el programa de ATI Render Monkey asi como un seminario OnLine y el manual de instrucciones del programa.
Este conjunto de software lo puso ATI en su pagina para desarrolladores y por lo visto es bastante facil de usar.

Si dominas el MS Visual Studio 6.0 hasta incluso podrías hacer tus propios juegos :)

Un ejemplo de pixel Shaders en DirectX9 hechos con RenderMonkey
http://www.ati.com/developer/images/rm3.jpg
ande vas con un compliador de shaders en tiempo real, alma de dios...

no pongas esas cosas para los mortales, que los matas, y más con esa frase de "si domingas VC 6"... vamos, dominar VC 6 es imposible, dominar C o C++ es posible...

peor no nos pasemos... por dios... no nos pasemos...
Escrito originalmente por shadow land
ande vas con un compliador de shaders en tiempo real, alma de dios...

no pongas esas cosas para los mortales, que los matas, y más con esa frase de "si domingas VC 6"... vamos, dominar VC 6 es imposible, dominar C o C++ es posible...

peor no nos pasemos... por dios... no nos pasemos...


El chico queria cosas tecnicas bueno pues ahi tiene mi granito de arena, jejeje. El RenderMonkey mola y mucho.

He leido tus respuestas y veo que eres un verdadero amo de la programacion en 3D. Me gustaría preguntarte unas cosillas shadow, serían mas bien de hardware y por mera curiosidad

1- He leido que el ancho de banda de la memoria de la Xbox es de 6 gigas/seg, ¿pero a que se refieren exactamente? ¿a RAM-CPU o memoria grafica-GPU? Si fuese de RAM -CPU sería algo acojonante puesto que esos anchos de banda solo se alcanzan actualmente en Athlon64 FX y motherboards especiales con memorias DDR400 registradas no? ¿tiene la GPU de la XBOX una RAM propia aparte de los 64 megas que trae la consola?

2- La GPU de la Xbox equivale a una GeForce 3 segun he leido por ahi, pero en la practica es mucho mas que una GeForce 3 por lo menos es lo que a mi me parece ¿que rendimiento estimas tu que pudiera tener? ¿como una Fx5600? ¿Fx5900? ¿Ti4200?
Permíteme...

1- Ram-GPU. Un poco de info aclaratoria:
Xbox overall has 6.4GB/sec of peak system memory bandwidth, which compares pretty well with current PC 3D cards, whose peak data rates are around 7.3GB/sec. But, DDR memory is typically about 75% efficient, so the effective bandwidth will more likely be more in the neighborhood of 4.8GB/sec, still a large hunk o' bandwidth, although it has to service both the XGPU and the Pentium-III CPU. During a Comdex interview, Seamus Blackley pointed out that almost no bus traffic in Xbox is uncompressed-in other words, texture and audio data are moved in compressed formats.

Y un link con las especificaciones técnicas de Xbox, para quien pueda estar interesado: especificaciones Xbox

2- Se comenta que sería equivalente a una Ti4400 (aunque creo que los PS y VS no son tan potentes), aunque ya se sabe que luego la arquitectura cerrada siempre da más de sí.
55 respuestas
1, 2