Ambas API de gráficos (OpenGL y DirectX) diseñan una canalización bien definida en la que varias etapas son programables. Estas etapas programables requieren tomar una cantidad mínima fija de datos y se supone que deben realizar un rango bien definido de operaciones en ella, y generar una salida mínima definida, para que los datos puedan pasar a la siguiente etapa correctamente. Parece que estas tuberías están diseñadas para funcionar solo con una cantidad limitada de tipos de datos geométricos, que en el caso de D3D y OGL son datos de vértices y coordenadas de textura.
Pero, si se da un caso cuando la aplicación que planeo hacer no usa vértices (o incluso vóxeles) para representar sus datos geométricos y no hace exactamente transformaciones o proyecciones o rasterización o interpolación o algo así, tales limitaciones de las API o la tubería hace las cosas difíciles.
Entonces, ¿hay alguna forma en que podamos cambiar la tubería de gráficos de manera que la funcionalidad de lo que cada etapa hace a los datos y el tipo de datos que se generan en cada etapa se modifique para mi ventaja? Si no es así, ¿hay alguna manera de utilizar las funciones API 'en bruto' para construir mi propia tubería? Si no, entonces mencione por qué no es posible.
EDITAR : Mi aplicación usa funciones de densidad para representar geometría. La función tiene un valor en cada punto del espacio. Divido el tronco de la cámara en una cuadrícula 3D, cada bloque se puede proyectar como un píxel. En cada bloque, integro la función de densidad y verifico si su valor es más que un valor requerido. En caso afirmativo, se supone que algo existe en ese bloque y se representa ese píxel correspondiente a ese bloque. Entonces, ahora en mi renderizador, quiero pasar la función (que represento con una cadena) al hardware de gráficos en lugar de los datos de vértice en los búferes de vértices. esto también implica que el sombreador de vértices no tendrá vértices para transformarse en espacio de clip homogéneo y el sombreador de fragmentos no obtiene información de píxeles. en cambio, ahora la mayor parte de la búsqueda y evaluación ocurre por píxel.