Los sombreadores de cualquier complejidad generalmente no son el tipo de cosas que puede descargar y colocar en su proyecto como engranajes intercambiables. Por lo general, los efectos más interesantes requieren un poco de acoplamiento al subsistema de representación del lado de la CPU para lograr sus resultados. Lo mismo ocurre generalmente con el rendimiento: las compensaciones de rendimiento con respecto a la precisión y la calidad sobre el recuento de instrucciones o la canalización tienden a basarse en requisitos específicos de la aplicación.
Como resultado, realmente no hay mucho en el tipo de repositorios en los que está pensando. Sin embargo, los libros de GPU Gems ofrecen una buena colección de descripciones de técnicas de estilo de libro de cocina con ejemplos de códigos sombreados y de juegos que quizás desee ver. Lo mismo hacen los libros de Shader X.
No mucho, pero al menos un par de sombreadores básicos para comenzar también se pueden encontrar entre mis archivos de motores de sorce abiertos:
los archivos .vsh contienen los sombreadores de vértices y los archivos .fsh los sombreadores de fragmentos, pero supongo que eso se explica por sí mismo ...
En el hardware móvil actual, debe hacer todo lo posible dentro del sombreador de vértices y el truco para juegos de gran apariencia y rápidos es escribir muchos sombreadores muy especializados haciendo siempre exactamente lo que se necesita para hacer que algo se vea como debe ser. Al menos esa es mi experiencia con mi iPhone 3GS, que cuenta con la misma GPU que el iPhone 4 pero tiene menos píxeles para entregar datos. Esto probablemente ya sea mucho mejor con tegra 2 e incluso mejor con el chip Apple A5, pero por ahora, esto significa que no debe intentar portar sombreadores para gpus de escritorio a teléfonos móviles y esperar un gran rendimiento: P Esto también significa que la pantalla completa Los efectos, especialmente en dispositivos con una pantalla de alta resolución, tienden a ser lentos.
Espero que esto también ayude un poco :).
fuente
podría obtener algo del conocimiento arcano de aquí http://glslsandbox.com/
fuente
Cuando estaba buscando cómo implementar niebla en OpenGL ES 2.0, encontré un enlace a la funcionalidad de implementación de proyectos compatibles con versiones anteriores de OpenGL ES 2.0 , que no está en OpenGL ES 2.0, por ejemplo, sombreado de niebla, por vértice, por fragmento (píxel). Puedes mirar directamente en la fuente de sombreadores .
También he estado implementando iluminación por fragmento, modificando este ejemplo creado por ClockworkCoders (no OpenGL ES 2.0).
También puedes echar un vistazo a estos excelentes tutoriales de lighthouse3D
fuente
El paquete AMD RenderMonkey contiene sombreadores muy avanzados para OpenGL ES 2.0 entre los archivos de muestra.
Eche un vistazo especialmente al ejemplo de sombreador Renderman en el directorio de muestras GLES, que proporciona un sombreador OpenGL ES 2.0 más o menos básico que podría servir como un buen punto de partida. Y también podría darle una buena idea de por qué no hay muchos ejemplos de buenos sombreadores para cortar y pegar. El problema básico: que los sombreadores están estrechamente vinculados con la configuración del servidor OpenGL ES y los modelos que se representan en ellos. Todavía. El sombreador Renderman es un excelente punto de partida, si puede sacarlo de la herramienta REnderMonkey.
fuente
Echa un vistazo a GPUImage ( https://github.com/BradLarson/GPUImage ), es probablemente la colección más completa de sombreadores que he encontrado en la web hasta ahora. Como están diseñados para funcionar con GPUImage, todos comparten la misma estructura, por lo que si adapta la misma estructura en su aplicación / juego, debería poder importar rápidamente una serie de efectos diferentes.
¡Salud!
fuente