Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Render States y GLSL

Iniciado por Prompt, 25 de Agosto de 2008, 09:40:59 AM

« anterior - próximo »

Prompt

Hola a todos, alquien sabe si a través del programmable pipeline se le pueden asignar los valores de rasterizado?

Es decir, yo actualmente asigno antes de usar un shader, por fixed pipelines los diferentes estados de render. por ejemplo:

- Vertex: glEnable(GL_CULL_FACE);
- Fragment: glEnable(GL_DEPTH_TEST);

Cambiar entre instancias que tienen el mismo shader la configuración es muy costoso, y encima por fixed pipelines me voy a comer todo el ancho de banda xD de hecho es lo que me pasa al renderizar 500 instancias.

Creo que asignar esos valores solo se puede hacer con el geometry shader, pero puede que me equivoque.

Un saludo

ethernet

Realmente no sé ni lo que preguntas, pero te diré algo:

pseudo-instancing -- pseudo-instancing -- pseudo-instancing -- pseudo-instancing -- pseudo-instancing -- pseudo-instancing -- pseudo-instancing -- pseudo-instancing

Prompt


Y  yo respondo:
Eso ya lo hago
Y te digooo:
NVX_instanced_arrays no se cual es el del ARB xD
Existe desde hace tiempo ya instancing "de verdad".


ethernet

queda pues respondida tu pregunta. No hay nada como solucionarse las cosas uno mismo

tamat

Y ahora despues de hablar en clave podeis iluminarnos traduciendolo a lenguaje terrenal?

El tema es que me interesa el instancing pero pensé que solo estaba en DX.
Por un stratos menos tenso

ethernet

Realmente no entiendo lo que pregunta ni el problema que tiene, pero no debe ser muy importante ya que en vez de explicar el problema nos explica cosas a los demás.

Prompt

Cita de: ethernet en 25 de Agosto de 2008, 05:44:13 PM
Realmente no entiendo lo que pregunta ni el problema que tiene, pero no debe ser muy importante ya que en vez de explicar el problema nos explica cosas a los demás.

Te he respondido pero mi pregunta no ha quedado contestada.

Cita de: tamat en 25 de Agosto de 2008, 03:38:32 PM
Y ahora despues de hablar en clave podeis iluminarnos traduciendolo a lenguaje terrenal?

El tema es que me interesa el instancing pero pensé que solo estaba en DX.

El pseudo-instancing es basicamente pasarle por coordenadas de textura la matriz de la instancia para que el shader la tenga ahí. Por qué en las coords de textura, pues porque luego no se "miran" ni se "reformatean" etc... y es un canal rápido para pasar información. Tipicas cosas del driver... tips and trics.

Por qué OpenGL no empezó directamente con la extensión de instancing... pues la tenía pero no estandarizada, y mientras lo "standard" era el pseudo-instancing, glDrawElements en OpenGL funciona muy rápido comparado con el homologo de DX. ( Y no lo digo yo, son specificaciones de nVidia... ¬¬ )

El instancing de DX funciona mucho más rápido que el pseudo-instancing de OpenGL ( está claro ). Pero, y el instancing de OGL vs instancing de DX? pues ni idea.

En el GPU Gems 2, tienes el articulo de instancing (genérico).


Mi pregunta ya no necesita respuesta, pero no tiene nada que ver con el instancing, sino con la asignacion de estados de renderizado.

Un saludo!

Mars Attacks

Ethernet, acabas de echar por tierra la idolatrada imagen que tenía de ti años de frugalidad espartana con ese horrible marquee  :shit:






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.