Conker64 escribió:@Señor Ventura
Me he basado en el rendimiento que conseguirían en su momento, sabiendo lo que hicieron con Castlevania, etc
Con las pruebas y conocimientos de ahora, a esa resolución, N64 puede hacer algo superior, no ya de rendimiento, sino algo, con tecnología superior.
Ni siquiera he tenido en cuenta el uso de coma flotante o subpixel, que darían mucha más suavidad a movimientos cortos de cuerpo o desplazamientos lentos de cámara (que los hay) en las escenas cuando hablan los personajes.
![sonrisa [sonrisa]](/images/smilies/nuevos/risa_ani1.gif) 
  dirtymagic escribió:@radorn ¿que tiene de especial el SH de PSX en cuanto texturas?
 
  Señor Ventura escribió:@Sogun Es curioso, pensaba que el desaprovechamiento de la caché de texturas era la insistencia en usar mip mapping para todo, pero que si prescindes de esto te quedan 4KB con no muchas condiciones.
¿Entonces realmente solo se dedican 2KB a caché de texturas?.
 A ver si más tarde hago algunas pruebas y confirmo cómo funciona lo de los tamaños porque tiene algo de miga. Como adelanto, en varios sitios se dice que la textura cuadrada más grande que puede dibujar Nintendo 64 es de 90x90 en escala de grises a 4 bits (si haces los cálculos salen 4050 bytes que entran en los 4096 bytes de la caché) pero no es así. En realidad es más pequeña. Me sonaba que eran 88x88 pero según los cálculos que estuve haciendo el límite son 80x80 con mucho espacio de la caché desaprovechado. Quiero hacer unos test para confirmarlo y luego escribir otro mensaje aquí. Quizás ya lo mencioné de pasada hace tiempo.
  A ver si más tarde hago algunas pruebas y confirmo cómo funciona lo de los tamaños porque tiene algo de miga. Como adelanto, en varios sitios se dice que la textura cuadrada más grande que puede dibujar Nintendo 64 es de 90x90 en escala de grises a 4 bits (si haces los cálculos salen 4050 bytes que entran en los 4096 bytes de la caché) pero no es así. En realidad es más pequeña. Me sonaba que eran 88x88 pero según los cálculos que estuve haciendo el límite son 80x80 con mucho espacio de la caché desaprovechado. Quiero hacer unos test para confirmarlo y luego escribir otro mensaje aquí. Quizás ya lo mencioné de pasada hace tiempo.Sogun escribió:@Conker64
Creo que el tamaño real de las paletas sería:
Para texturas de 8 bits de profundidad (256 colores): (8 bits rojo + 8 bits verde + 8 bits azul) * 256 entradas / 8 = 768 bytes
Para texturas de 4 bits de profundidad (16 colores): (8 bits rojo + 8 bits verde + 8 bits azul) * 16 entradas / 8 = 48 bytes
No hay canal alfa. Las semitransparencias se realizan en la geometría (el polígono entero o por vértices e interpolando).

uint16_t palette_0[16] = { 0,19,29791,48609,21141,59193,22851,2115,31303,45961,24577,32769,10573,56585,47105,0 };    if( __bitdepth == 2 )
    {
        // 8 to 5 bit;
        int r = color.r >> 3;
        int g = color.g >> 3;
        int b = color.b >> 3;
        // Pack twice for compatibility with RDP packed colors
        uint32_t conv = ((r & 0x1F) << 11) | ((g & 0x1F) << 6) | ((b & 0x1F) << 1) | (color.a >> 7);
        return conv | (conv << 16);
    }
    else
    {
        return (color.r << 24) | (color.g << 16) | (color.b << 8) | (color.a);
    }    // Set Fill Color
    __rdp_ringbuffer_queue( 0x37000000 );
    __rdp_ringbuffer_queue( color );
    __rdp_ringbuffer_send();


Sogun escribió:En texturas a color (de 4 y 8 bits de profundidad) los 4 kB se dividen en dos trozos: 2 kB con la imagen de la textura y otros 2 kB (¡desaprovechadísimos!) con la paleta de colores.
Sexy MotherFucker escribió:@SuperPadLand la resolución más baja de PlayStation es 256x240, aunque el estándar de la mayoría de juegos es 320x240.
Silent Hill se ejecuta en un framebuffer total de 320x240, pero no rellena toda la pantalla, por lo que en la práctica la resolución/área visible es algo menor dejando marcos negros alrededor.
Resident Evil 4 en GC hace lo mismo; la salida de vídeo escupe 640x480, pero el Flipper no renderiza toda la pantalla, sino que tiene márgenes negros arriba y abajo.





Sexy MotherFucker escribió:@SuperPadLand yo también te hablo de ésas. Resoluciones nativas de PlayStation:
- 256x240.
- 320x240. La que usa Silent Hill. Pero de ese total sólo rellena 292x224, quedándose 1 marco negro rodeando el área visible del juego:
- 384x240.
- 512x240.
- 640x240.
Etc. Eso en progresivo y NTSC. En entrelazado y PAL varía.
Super Mario 64 también escupe 320x240 y también renderiza unas líneas por debajo, aunque nada tan cantoso como en el Silent Hill.
Realmente N64 y PS manejan rangos de resolución muy similares; son en esencia máquinas de 240p que también hacen sus pinitos en "HD", pero este último no es su hábitat natural. Aunque el tamaño máximo potencial del framebuffer es mayor en N64 que en la Play.
Luego, también en Nintendo 64, está todo lo que escale el "VI", pero yo ahí ya me pierdo, ya que nos salimos de lo " Nativo".
Sexy MotherFucker escribió:@SuperPadLand yo recuerdo que una vez te pregunté sobre la resolución de algunas conversiones de CAPCOM para PlayStation y tu emulador daba 368x224. Pero en realidad son 384x240p con recortes en negro.
EMaDeLoC escribió:Pregunta: ¿se pueden usar todas las texturas de 8 bits que quieras con una sola paleta, e incluso solo tener que cargar la paleta una vez por frame usandola para todas las texturas?
La pregunta va también para @Conker64
dirtymagic escribió:@EMaDeLoC
Sí así funciona las texturas en I y IA.
@Señor Ventura
Las texturas que ocupan los 4KB son
64*32 16 bits
128*64 I4 ( 16 niveles de intensidad de grises fijas)
128*64 IA4 (8 niveles de intensidad de grises fijas más 1 bit alfa)
64*64 I8 ( 256 niveles de gris)
64*64 IA8 ( 16 niveles de intensidad de grises fijas y 16 niveles de alfa)
64*64 IHQ ( mezcla de una textura de 64*64 I4 con una de 32*32 16 bits permitiendo una textura de 64*64 con 16 bits de color, necesita 2 cycles en el RDP)
Obviamente puede cambiar la proporción de la textura, pero en potencias de 2 si se quiere repetir o espejar.
Salud.
El coste mínimo por transparencia es similar al de n64, sin coste si se encuentra en la cache de texturas
 . Qué HAMBRE pasaron los pobres usuarios de N64 amantes de este género en los 90. Bueno de éste y otros muchos...
. Qué HAMBRE pasaron los pobres usuarios de N64 amantes de este género en los 90. Bueno de éste y otros muchos...![burla2 [burla2]](/images/smilies/nuevos/burla_ani1.gif) 
  ![calabaza [hallow]](/images/smilies/nuevos/hallowen.gif) 
  Sexy MotherFucker escribió:@SuperPadLand NC: hack and slash. ShadowMan plataformas/shooter de exploración. Castlevania lo mismo. Doom FPS.
¿Gallerians qué sería?
![Que me parto! [qmparto]](/images/smilies/net_quemeparto.gif) 
  
  ![enrojecido [ayay]](/images/smilies/nuevos/sonrojado_ani1.gif) 
  Sexy MotherFucker escribió:@Segastopol la diferencia es que incluso en los escasos géneros en que Nintendo 64 era la mejor, PlayStation ofrecía una contraoferta sobresaliente para que nadie se quedase insatisfecho, mientras que al revés eso no pasaba en muchísimos géneros.
Esa es la diferencia; en la Play había oferta de calidad para cualquier gusto. En N64 no, y encima escasa.
Pero bueno esto es 1 hilo técnico, no lo desviemos. Culpa mía por sacar el tema
![brindis [beer]](/images/smilies/nuevos2/brindando.gif) 
  Conker64 escribió:EMaDeLoC escribió:Pregunta: ¿se pueden usar todas las texturas de 8 bits que quieras con una sola paleta, e incluso solo tener que cargar la paleta una vez por frame usandola para todas las texturas?
La pregunta va también para @Conker64
Sí, dirtymagic ya comentó pero además añado que subir textura y subir paleta funciona por 2 vías distintas, la textura usa los comandos load_tile o load_block, y la paleta load_tlut.
Puedes conservar la paleta tanto en 8bit como en 4bit, a lo largo del hilo puse un ejemplo del Goldenaxe II de Mega Drive, que usa 16 colores para todo el layer, así que solo cargué la paleta 1 vez para dibujar todos los tiles del scroll.
Uno de los parámetros es decirle desde que punto de la tabla empieza, con eso podrías recorrer las 256 entradas.
Con lo que quiero decir, que no solo puedes tener diferentes texturas 8bit para 256 colores, también puedes almacenar 16 paletas distintas para 16 texturas (o más) de 4bit también, y dejarlas en memoria si es suficiente, o incluso usar texturas de 4 y 8 bit, de una misma entrada de 256 posiciones.
O no necesariamente subir 256 colores, si una textura de 8bit solo tiene 40 colores, se puede subir solo esa cantidad, el resto no se refrescan, pero tampoco se van a usar.
Sexy MotherFucker escribió:@SuperPadLand yo jugué al de Ps2; ¿es más o menos igual?
EMaDeLoC escribió:Conker64 escribió:EMaDeLoC escribió:Pregunta: ¿se pueden usar todas las texturas de 8 bits que quieras con una sola paleta, e incluso solo tener que cargar la paleta una vez por frame usandola para todas las texturas?
La pregunta va también para @Conker64
Sí, dirtymagic ya comentó pero además añado que subir textura y subir paleta funciona por 2 vías distintas, la textura usa los comandos load_tile o load_block, y la paleta load_tlut.
Puedes conservar la paleta tanto en 8bit como en 4bit, a lo largo del hilo puse un ejemplo del Goldenaxe II de Mega Drive, que usa 16 colores para todo el layer, así que solo cargué la paleta 1 vez para dibujar todos los tiles del scroll.
Uno de los parámetros es decirle desde que punto de la tabla empieza, con eso podrías recorrer las 256 entradas.
Con lo que quiero decir, que no solo puedes tener diferentes texturas 8bit para 256 colores, también puedes almacenar 16 paletas distintas para 16 texturas (o más) de 4bit también, y dejarlas en memoria si es suficiente, o incluso usar texturas de 4 y 8 bit, de una misma entrada de 256 posiciones.
O no necesariamente subir 256 colores, si una textura de 8bit solo tiene 40 colores, se puede subir solo esa cantidad, el resto no se refrescan, pero tampoco se van a usar.
Ostras, pues eso da muchas posibilidades. Esogiendo bien la paleta artística de los niveles y ordenando paletas de 16 colores en una mayor de 256 con todos los colores distintos, habría texturas de 16 colores de 64x64 y de 256 colores de 32x32 o 43x43. Es decir, habría gran cantidad de detalle con un coste reducido de espacio de RAM y cartucho (255 texturas y una paleta en 512KB, y sin comprimir) y consumiendo poco ancho de banda de RAM (menos de 2 milisegundos de transferencia).
Eso si, necesitaría un gran esfuerzo y coordinación para condensar todo el apartado artístico del nivel en una paleta de 256 colores y también limitaría las posibilidades de variedad cromática, además de alargar el desarrollo.
SuperPadLand escribió:No sé en 3D, pero en juegos 2D 256 colores bien elegidos pueden dar buen jugo. Además imagino que se podrá hacer algún truco del almenduco para de esos 256 sacar varias tonalidades diferentes y multiplicar. Y en 3D para cartoon o cell shading también no?
