tutorial touchdesigner shadertoy shaders examples boy glsl shader

glsl - touchdesigner - opengl



¿Cómo se ven los sombreadores GLSL predeterminados? para la versión 330 (1)

No hay sombreadores "predeterminados" con OpenGL. Parece que lo que quieres es un ejemplo muy simple de un sombreado que transforma vértices en espacio de recorte y les da un color, así que aquí tienes:

Sombreador de vértices:

#version 330 layout(location = 0)in vec4 vert; uniform mat4 projection; uniform mat4 view; uniform mat4 model; void main() { gl_Position = projection * view * model * vert; }

Sombreador de fragmentos:

#version 330 out vec4 fragColor; void main() { fragColor = vec4(1.0, 0.0, 0.0, 1.0); }

El perfil principal de OpenGL 3.3 deja caer la compatibilidad con muchos elementos antiguos de funciones fijas como la pila de matriz. Se espera que manejes tus propias matrices y las envíes a tus shaders. No hay ftransform, y gl_Position es prácticamente la única variable válida gl_ *.

Si bien glBindAttribLocation no está en desuso, el método preferido para definir la ubicación de los atributos de vértice es a través de "layout (location = x)" en GLSL.

En el sombreador de vértices, "atributo" ahora está "dentro" y "variante" ahora está "fuera". En el fragmento de sombreado, "variando" ahora es "in" y "gl_FragColor" se define por una variable "out". Creo que gl_FragColor sigue siendo válido, pero ahora es posible usar una variable de salida para definir el color.

Este tutorial es muy bueno y enseña sobre OpenGL y GLSL 3.30, le recomendaría que lo use para aprender más sobre GLSL. También recuerda que las páginas de referencia de GLSL son tus amigos.

¿Cómo se ven los sombreadores GLSL predeterminados de vértice, fragmento y geometría para la versión # 330?

#version 330 GLSL Versión 3.30 NVIDIA a través del compilador Cg, porque eso es lo que admite mi tarjeta gráfica.

Con los sombreadores predeterminados, me refiero a los sombreadores que hacen exactamente lo mismo que la tarjeta gráfica cuando el programa de sombreado está desactivado.

No puedo encontrar un buen ejemplo para #version 330 . He estado buscando en Google todo el día. No estoy seguro si el término sombreador predeterminado se llama algo más como trivial o básico y si es por eso que no puedo encontrarlo.

Cualquier recomendación para un libro con la versión 330 o un enlace a un tutorial sencillo para principiantes con la versión 330 también sería excelente.

ejemplo de un sombreado de vértice trivial en #version 110, realiza la transformación de vértice predeterminada

#version 110 void main() { gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex; }

ejemplo de un sombreado de fragmentos trivial en #version 110, convierte el color en rojo

#version 110 void main() { gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); }