Renderización basada en hardware de geometría 3D
Crear hardware y render una geometría 3D
Para renderizar una geometría 3D, se requiere un shader, buffers y un estado de render. Ninguno de ellos puede trabajar el uno sin el otro.
- Tampones-Las listas de triángulos son triángulos individuales especificados en una matriz que a veces se denomina búfer. En una lista de triángulos, cada triángulo se especifica individualmente. Los puntos de un triángulo se pueden compartir mediante índices para reducir la cantidad de datos que se deben pasar al hardware gráfico.
- Shaders-Define cómo transformar los triángulos del espacio del mundo en el espacio de la pantalla y calcular el color del píxel final en el lado de la GPU
- Estados de render-Proporciona parámetros para que la GPU rasterice los triángulos en píxeles.
El Lenguaje de Sombreado OpenGL (GLSL) es el lenguaje estándar de sombreado de alto nivel para los gráficos OpenGL API. El método InitRenderer
en el archivo AssetBrowser/Controls/RenderView.cs
bajo la aplicación de demostración (nombre: AssetBrowser) demuestra el uso simple de GLSL usando Aspose.3D API. Hay tres tipos de sombreadores comúnmente utilizados: Vertex Shaders, Fragment Shaders y Geometry Shaders.
La clase GLSLSource
le dice al renderizador, el código fuente es para el lenguaje de sombreado OpenGL, se puede compilar a la clase ShaderProgram
. La clase ShaderVariable
define las variables utilizadas en el shader. La clase VariableSemantic
se usa para identificar la semántica de la variable de sombreado, Aspose.3D El renderizador preparará automáticamente los valores de la variable de sombreado según la semántica.
Muestra de programación para Shader
Este ejemplo de código inicializa el renderizador y el sombreador para la cuadrícula. Puede descargar el proyecto de trabajo completo de este ejemplo desde Aquí.
Muestra de programación para el búfer y el estado de renderización
Este ejemplo de código inicializa el búfer y el estado de procesamiento para la cuadrícula.