Necesito probar mi engine2 en diferentes maquinas, es la segunda prueba.
Este requiere Fragment-Programs, soportados por la GeForce FX y ATI Raedon 9500 y posteriores ademas de plataforma windows.
Que quiero saber, si anda bien, rendimiento y en que maquinas funciona, errores y bugs (espero no hallan) , sugerencias y criticas siempre bienvenidas.
El servidor es un poco flojo, tenganle paciencia, si a alguien no le anda el link, que me diga y trato de ponerlo en otro lado tambien o se lo mando por mail ;) .
Descarguense de la
pagina mia.
Una foto para que entiendan de que trata:
(http://img129.exs.cx/img129/3050/SC1.jpg)
Saludos y gracias.
Hola.
El motor va muy bien. Lo he puesto a 1280x1024 con sombras activadas y aún así mantenía un frame rate muy decente (entre 15 y 45 fps). Sobre todo si dices que quieres optimizar la iluminación hasta duplicar la velocidad.
Sólo le he visto un fallo y es cuando me acerco a cualquiera de los focos de la sala grande, al entrar en el shadow volume (aunque en este caso no estoy del todo seguro de estar dentro del shadow volume, tal vez lo esté intersectando) ocurre algo parecido al típico problema de los shadow volumes aunque no parece el mismo fallo. Aquí tienes una imagen (la resolución real era 1280x1024 pero por cuestiones de espacio he reducido la imagen).
(http://www.arrakis.es/~jonathan01/stratos/pogacha_shadow_error.jpg)
Por cierto, gracias por permitir modificar la sensibilidad del ratón (aunque tal y como está por defecto estaba bien). ;)
Ah, mi máquina es:
P4 3Ghz HT
1GB de RAM
Radeon 9600 XT 256MB
WindowsXP
Muy buen trabajo.
PD: por cierto, la cámara lleva una luz, ¿no?.
Muy bien, me va perfecto, muy fluido a unos 50 fps de media. (ole)
AMD 1900+
512 MB
Radeon softmod 9700 128 MB
WXP Home
Pero, adolece del típico problema que también pasa con Doom 3. Parece que el sync vertical está mal y cuando te desplazas de izquierda a derecha, la parte de arriba y la parte de abajo se desincronizan. No sé si me explico.... <_<
Bueno, y técnicamente podrías comentar qué tiene , ¿no? ¿Utilizas per pixel lightning con bumpy? No lo tengo muy claro, porque el techo no acabo de ver muy claro si es la propia textura o es per pixel.
Cita de: "Haddd"Bueno, y técnicamente podrías comentar qué tiene , ¿no? ¿Utilizas per pixel lightning con bumpy? No lo tengo muy claro, porque el techo no acabo de ver muy claro si es la propia textura o es per pixel.
En el
Leerme.txt lo explica.
Saludos.
Gracias por probarlo.
Si en el leeme.txt dice de todo un poco.
Pero voy a nombrar algunas caracteristicas tecnicas:
* Real Portal Engine, con calculo de visibilidad en tiempo real.
* El shader generico tiene Normales Locales (Normal Map que puede ser un normal map o un height map que el programa convierte automaticamente), Especularidad con un mapa de brillo especular (Glossmap ? creo...) para el cual utilizo un metodo sucio (no pude decifrar el del doom3, pero queda parecido), y obviamente la textura difusa, tambien hay shaders para luz ambiente que ademas permite una textura emisiva (usada en las fuentes de luz).
* Algoritmos de sombreado muy optimizados, se me han ocurrido dos optimizaciones mas, pero aun no las implemento, no son para tanto tampoco todo tiene que ver con determinación de ZPass vs ZFail y eliminación de sombras invisibles, practicamente el motor en este momento rasteriza el 20 % de las sombras ya que elimina a la mayoria por determinacion de visibilidad.
* 1/4 de las caracteristicas de Doom3.
Formatos de archivos:
Mapas : .jmp = Jhon_pogacha MaP el cual es un formato en texto donde si quieren pueden modificar parametros de las entidades, (el fuego no, lo agrego dentro del motor pues el formato de la entidad fuego no esta lista).
Configuracion : el tipico "Variable" "Valor" y # para comentario.
Sombreados.txt: Aqui se detallan los sombreados, tambien se puede jugar con ellos, pueden cambiar las texturas.
FormasDeOnda: Aqui se detallan las formas de onda, por ahora solo las uso para dar iluminacion variable, se referencian dentro de los parametros de las entidades.
CitarPero, adolece del típico problema que también pasa con Doom 3. Parece que el sync vertical está mal y cuando te desplazas de izquierda a derecha, la parte de arriba y la parte de abajo se desincronizan. No sé si me explico....
Eso pasa cuando el FrameRate es menor a 60hz ( o al menos menor que el de la pantalla ) y tienes el "vertical sync" desactivado.
CitarPD: por cierto, la cámara lleva una luz, ¿no?.
Exactamente ;), pronto sera una linterna, con 'F' se prende y apaga.
Por cierto, gracias por permitir modificar la sensibilidad del ratón (aunque tal y como está por defecto estaba bien).
Para servirle, simepre escucho las sugerencias.
Si me pides que halla un pollito en la proxima ahí estará ;).
CitarSobre todo si dices que quieres optimizar la iluminación hasta duplicar la velocidad
En este momento las optimizacíones sobre los shaders no mejorarán mucho mas, ahora las optimizaciones que planteo son para mapas grandes ( donde hay un mundo de optimizaciones para hacer ), en realidad si el mapa es inmenso, supongamos 1.000.000 de vertices y unas 2.000.000 de caras, el motor tendra casos que no sorteara y FrameRate caera al suelo, es ahí donde estoy peleando en este momento.
CitarSólo le he visto un fallo y es cuando me acerco a cualquiera de los focos de la sala grande, al entrar en el shadow volume (aunque en este caso no estoy del todo seguro de estar dentro del shadow volume, tal vez lo esté intersectando) ocurre algo parecido al típico problema de los shadow volumes aunque no parece el mismo fallo. Aquí tienes una imagen (la resolución real era 1280x1024 pero por cuestiones de espacio he reducido la imagen).
Te pido por favor pruebes esto:
Si falla poniendo el zbuffer en 24 o 32 bits.
Si solo lo hace en resoluciones altas.
Pienso que puede ser un problema de zfighting de los volumenes de sombra, te acuerdas de los problemas de la anterior version, es que tu placa tiene dos canales de T&L, la tipica y la T&L por vertex shaders, a eso lo solucioné agregandole un z_scale_and_bias o sea z' = 1.1*z + 0.1 con lo cual sumergo el volumen detras de la cara y entonces al hacer un ZTest -> ">=" simpre me da detras y se oculta su propia sombra. Todo esto lo hice a ciegas, por que la mia solo tiene un canal de T&L así que no pude provarlo.
CitarEl motor va muy bien. Lo he puesto a 1280x1024 con sombras activadas y aún así mantenía un frame rate muy decente (entre 15 y 45 fps).
CitarMuy bien, me va perfecto, muy fluido a unos 50 fps de media.
Sobre los FPS que logran: Me gustaria tener una de sus placas!!! :P, en la mia le saco 16 fps en 640 x 480 :( .
Saludos y muchas gracias por probarlo.
He probado a ponerlo a 24 y 32 bits para el depth buffer y sigue sucediendo lo mismo. La verdad es que sí parece z-fighting pero lo raro es que ocurra cuando estoy cerca de shadow volume y no lejos. Se supone que cuanto más lejos estés más precisión pierde por lo que hay más probabilidades de que aparezca z-fighting que si estás cerca.
Otro screenshot:
(http://img124.exs.cx/img124/875/pogacha_shadow_error_3.jpg)
Saludos.
Puedo estar errado en la ecuacion del z_bias_&_scale, quizas deban ser otros parametros, pero no puedo probarlo en mi maquina.
No te preocupes, tan solo dime si eso te ocurre en resoluciones mayores a 1024 x 768 o en cualquier resolución e investigare con los datos que me diste.
Saludos y gracias.
Cita de: "Pogacha"Puedo estar errado en la ecuacion del z_bias_&_scale, quizas deban ser otros parametros, pero no puedo probarlo en mi maquina.
No te preocupes, tan solo dime si eso te ocurre en resoluciones mayores a 1024 x 768 o en cualquier resolución e investigare con los datos que me diste.
Saludos y gracias.
Lo he probado tanto a 640x480 como a 1280x1024, en modo ventana y a pantalla completa y 24 bits para el depth buffer y sigue ocurriendo lo mismo.
Suerte.
Entonces es esta
CitarRadeon 9600 XT 256MB
que esta engualichada (grrr) (grrr) (grrr)
O si no pasas un rato con el paint pintandolo para tratar de enloquecerme. :P
Hablando en serio te agradezco la ayuda, estoy en deuda con tigo.
Tal vez es un problema del near plane o quizas ... veremos que puedo hacer.
Haber si alguien mas se anima a probarlo con una placa como la tuya y me dice si tiene problemas.
Saludos y Gracias.
Genial, muy buen trabajo, dan ganas de probarlo con escenarios mas grandes y algun modelo ( aunque sea un pollito :) ) . No me ha dado ningun error de los mencionados, aunque no lo he probado con resoluciones tan altas.
Me va entre 15 y 30 fps a 1024x768
Athlon 1Ghz
512 MB SDram
Radeon 9600 pro 128
Probaré a instalar los últimos drivers a ver qué pasa. La verdad es que también estoy teniendo problemas con los últimos cambios que ha hecho Haddd en el motor.
Saludos.
Nada, he instalado los últimos drivers (Catalyst 4.10) y ocurre exáctamente lo mismo.
Saludos.
Muy buenas.
Yo no tengo mucho que decirte. A pesar que avisaste que se necesitaba minimo una ATI 9500 y solo dispongo de la 9200 PRO me decidí a bajarlo y mirar que pasaba. Me salio un mensaje diciendome que disponia de las extension ARGB (un nombre un tanto rar para mi :()
Hasta ahi todo normal, pero cuando le doy a aceptar cual es mi sorpresa cuando me dejo la pantalla en 640*480, con 256 bits.........solo quería comentar a ver si en la rutina de salida por no tener "capacidad" de cargar la demo podrías "arreglar" ese pequeño detalle.
GRACIAS ^^
Gracias.
En realidad deberia salir :blink: , voy a comprobarlo..., eso lo probe en otras maquinas y anduvo bien.
Citar640*480, con 256 bits
En realidad cuando sale pone el modo por defecto, puede estar ahí el queso.
CitarNada, he instalado los últimos drivers (Catalyst 4.10) y ocurre exáctamente lo mismo.
(grrr) , ... sigo investigando ..., me podes poner las extensiones de tu placa, el programa saca un "Extensiones.Log" .
Saludosy gracias
Ya arregle el problema del especular, ahora uso el vector reflejado y la velocidad es la misma :) y la verdad es que queda mucho mejor.
Me faltaria armar el parallax mapping.
Saludos
Las extensiones son:
CitarGL_ARB_multitexture
GL_EXT_texture_env_add
GL_EXT_compiled_vertex_array
GL_S3_s3tc
GL_ARB_depth_texture
GL_ARB_fragment_program
GL_ARB_fragment_program_shadow
GL_ARB_fragment_shader
GL_ARB_multisample
GL_ARB_occlusion_query
GL_ARB_point_parameters
GL_ARB_point_sprite
GL_ARB_shader_objects
GL_ARB_shading_language_100
GL_ARB_shadow
GL_ARB_shadow_ambient
GL_ARB_texture_border_clamp
GL_ARB_texture_compression
GL_ARB_texture_cube_map
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_crossbar
GL_ARB_texture_env_dot3
GL_ARB_texture_mirrored_repeat
GL_ARB_transpose_matrix
GL_ARB_vertex_blend
GL_ARB_vertex_buffer_object
GL_ARB_vertex_program
GL_ARB_vertex_shader
GL_ARB_window_pos
GL_ATI_draw_buffers
GL_ATI_element_array
GL_ATI_envmap_bumpmap
GL_ATI_fragment_shader
GL_ATI_map_object_buffer
GL_ATI_separate_stencil
GL_ATI_texture_env_combine3
GL_ATI_texture_float
GL_ATI_texture_mirror_once
GL_ATI_vertex_array_object
GL_ATI_vertex_attrib_array_object
GL_ATI_vertex_streams
GL_ATIX_texture_env_combine3
GL_ATIX_texture_env_route
GL_ATIX_vertex_shader_output_point_size
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_blend_color
GL_EXT_blend_func_separate
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_clip_volume_hint
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_multi_draw_arrays
GL_EXT_packed_pixels
GL_EXT_point_parameters
GL_EXT_rescale_normal
GL_EXT_secondary_color
GL_EXT_separate_specular_color
GL_EXT_shadow_funcs
GL_EXT_stencil_wrap
GL_EXT_texgen_reflection
GL_EXT_texture3D
GL_EXT_texture_compression_s3tc
GL_EXT_texture_cube_map
GL_EXT_texture_edge_clamp
GL_EXT_texture_env_combine
GL_EXT_texture_env_dot3
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_lod_bias
GL_EXT_texture_mirror_clamp
GL_EXT_texture_object
GL_EXT_texture_rectangle
GL_EXT_vertex_array
GL_EXT_vertex_shader
GL_HP_occlusion_test
GL_NV_texgen_reflection
GL_NV_blend_square
GL_NV_occlusion_query
GL_SGI_color_matrix
GL_SGIS_texture_edge_clamp
GL_SGIS_texture_border_clamp
GL_SGIS_texture_lod
GL_SGIS_generate_mipmap
GL_SGIS_multitexture
GL_SUN_multi_draw_arrays
GL_WIN_swap_hint
WGL_EXT_extensions_string
WGL_EXT_swap_control
Saludos.
Lo he probado en un Pentium 4 3.2Ghz con ATI Radeon X800-XT. Media de 80fps a 1024x768 con picos de 120fps. Media de 150fps a 640x480 con picos de 280fps. Mejor no usar z-buffer de 16 bits, ya que da muchos problemas y todas las tarjetas actuales llevan z-buffer de 24 bits.
Un saludo,
- Jikan
Bueno pues me he dado cuenta que el problema ocurre en cualquier parte (aunque en algunas zonas el problema es más aparente). Si me acerco a una pared y roto la cámara, de vez en cuando aparecen las manchas negras que se pueden ver en las imagenes que puse. Si desactivo las sombras no ocurre por lo que probablemente sea algún problema con el stencil buffer.
Saludos.
Gracias a todos, la verdad es que anduvo mejor de lo que creia ;).
En el unico que tengo problemas es en el de Berserkerer, el se a portado muy bien conmigo y me siento en deuda.
El problema radica definitivamente en un zfighting del stencil buffer, para todos los shaders utilizo el T&L general con la opcion (OPTION_POSITION_INVARIANT), pero a los volumenes de sombra los extrujo por hardware con el T&L de 2 generación o sea con Vertex Programs y parece que es muy distinto el resultado del T&L2 con el general, ahora que estoy pensando este es el unico problema, una solucion seria usar en todos el mismo camino o sea Vertex Programs para transformar el vertex, y la otra es darle un Z_bias_&_scale mas profundo, mañana o pasado seguramente posteare el pach para la 9700 y con el especular corregido :P solo seran unos 200k como mucho, y voy a avisar en este thread cuando lo haga.
CitarATI Radeon X800-XT
(uoh) (uoh) (genial) (genial)
Solo las habia visto en revistas, ... así que existe!!, debe ser la mejor placa que existe no?, si me dices que es la palatinium edition la completas y me caigo muerto, pues yo tengo un P3 750 con 256mb y una GFFX 5200.
Citarz-buffer de 24 bits
La verdad es que si, pero en 16 bits todavia a mi me anda y debo reducir los requerimientos todo lo que puedo, aun que no se si ya a partir de estas placas GFFX5200 y ATI9500 ya todas la tienen.
CitarA pesar que avisaste que se necesitaba minimo una ATI 9500 y solo dispongo de la 9200 PRO
Eso me hace sentir muy mal, yo era el infeliz usuario de una Savage 4 y el odio que sentia al no funcionarme los programas era muy frustrante, no te lo prometo pero voy a tratar de hacer un patch para Vertex Programs genericos que deviera andar en vuestro ordenador.
Saludos.
Berserker:
Bien, ya hice una version para probarla en la 9600 XT.
No os obligo ni tampoco te sientas obligado, pero puede que figures en los agradecimentos con letra mayuscula. Cuando tengas tiempo o ganas, tambien tiene unos cuantos arreglos mas, la linterna sin modelo y la especular corregida, ademas de un aumento del 10% en el FrameRate.
Esta en el misma
pagina y remplaza el zip anterior pues lo reduje a 680K con todo.
De cualquier modo no te preocupes si no tienes tiempo, dentro de un mes lanzare otra prueba general.
Saludos.
Perfecto, ahora funciona sin problemas. ¿Cuál era el problema?. :)
Saludos.
Por fin!.
Creo que el problema radicaba en el Scale&Bias.
Te anduvo con los valores por defecto del desplazamiento de poligono: -0.05 y -1.0 o debiste modificarlos?
Te detallo el supuesto problema y su solucion:
Cuando se usa el sistema de sombreado de zfail, uno tiene que dibujar un volumen de sombra cual una de sus caras es conincidente con la cara que genera el volumen de sombra (no se si se entiende), la cara se dibuja como material y como volumen de sombra.
Cuando dibujo la cara como material no uso el vertex program para transformar las posiciones del vertice por ende se usa un camino generico (o sea la etapa de T&L por defecto del API) y luego cuando extrujo las caras para generar las sombras si uso el vertex program que remplaza la etapa generica. El problema el resultado en tu placa (parece ser) es distinto en distintos caminos, usa distintos tipos de precicion o no se que, para solucionar esto ya habia previsto un scale y bias pero parece que tiene distintos resultados en tu placa tambien, este ultimo es general.
Sera hasta el pre-beta3 o quien sabe tal vez el beta.
Muchisimas gracias.
Saludos.
Pogacha
PD: en tu honor, por haber ayudado tanto puedo cumplir con cualquier capricho que quieras para la proxima version que sacare en un mes o dos, solo pidelo!. (un cartel que diga berserkerer rulez o lo que sea)