Estoy buscando algunos buenos recursos de aprendizaje para hardware de gráficos (y software de bajo nivel asociado). Básicamente, quiero aprender más sobre lo que sucede debajo de las capas API de opengl / direcx en términos de cómo se implementan las cosas.
Estoy familiarizado con lo que sucede en principio durante las diversas etapas de la canalización de representación (visualización, proyección, recorte, rasterización, etc.).
Mi objetivo es poder tomar decisiones mejores y más informadas sobre compensaciones y optimizaciones potenciales cuando la programación de gráficos / sombreadores con respecto a los siguientes tipos de problemas;
- procesamiento por lotes
- ver sacrificio
- oclusiones
- orden de sorteo
- evitando cambios de estado
- triángulos vs puntosprites
- muestreo de textura
- etc.
Básicamente, todo lo que el programador de gráficos necesita saber sobre el hardware de gráficos moderno para ser más efectivo.
Realmente no estoy buscando técnicas de optimización específicas, sino que necesito un conocimiento más general para poder escribir un código más eficiente.
Respuestas:
La serie de publicaciones de blog de Fabian Giesen Un viaje a través de la tubería de gráficos es el mejor lugar que conozco para obtener una visión general de cómo funcionan las GPU modernas y qué APIs como D3D y OpenGL realmente están haciendo por usted.
fuente