Herramientas de usuario

Herramientas del sitio


wiki2:ogl

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
wiki2:ogl [2015/12/06 16:27]
alfred [Transformaciones]
wiki2:ogl [2020/05/09 09:25] (actual)
Línea 157: Línea 157:
 </​code>​ </​code>​
 ===== Texturas ===== ===== Texturas =====
 +
 +==== Básico ====
  
 Creating textures is very similar to creating vertex buffers : Create a texture, bind it, fill it, and configure it.  Creating textures is very similar to creating vertex buffers : Create a texture, bind it, fill it, and configure it. 
Línea 179: Línea 181:
 glTexParameteri(GL_TEXTURE_2D,​ GL_TEXTURE_MIN_FILTER,​ GL_NEAREST);​ glTexParameteri(GL_TEXTURE_2D,​ GL_TEXTURE_MIN_FILTER,​ GL_NEAREST);​
 </​code>​ </​code>​
 +==== Animar texturas ====
 +=== Usando el fragment shader ===
 +
 +  * {{:​wiki2:​ogl:​animating.textures.zip|}}
 +
 +==== Renderizar sobre textura ====
 +
 +Para esto se usa un FBO. Básicamente creas el FBO, reemplazas el buffer donde renderizas por el del FBO creado y dibujas, luego enlazas otra vez el buffer por defecto y en el FBO tienes la textura.
 +
 +Recuerda indicar el tamaño de píxels, haber creado anteriormente de las texturas que vas a usar en el fbo y tener el shader program activo.
 +
 +:!: Recuerda que para OpenGL el 0,0 está en la esquina de abajo a la izquierda. Si el sistema que usas cambia, es probable que **la textura fbo aparezca volteada**.
  
 +  * {{:​wiki2:​ogl:​fbo.zip|}}
 ===== Transformaciones ===== ===== Transformaciones =====
  
Línea 216: Línea 231:
 for (int i = 0; i < 16; i++) for (int i = 0; i < 16; i++)
     modelMatrix[i] = temp[i];     modelMatrix[i] = temp[i];
-</java>+</code> 
 +  * {{:​wiki2:​ogl:​nested.transforms.zip|}}
 ===== Lenguaje GLSL ===== ===== Lenguaje GLSL =====
  
Línea 334: Línea 350:
 </​code>​ </​code>​
 ===== Shaders en general ===== ===== Shaders en general =====
 +
 +  * :!: El optimizador de GLSL borrará todas las variables que no uses.
 ===== Vertex Shader ===== ===== Vertex Shader =====
 ==== Cambiar el tamaño de los puntos dibujados ==== ==== Cambiar el tamaño de los puntos dibujados ====
Línea 345: Línea 363:
 </​code>​ </​code>​
  
 +==== Hacer el color algo más oscuro ====
 +<​code>​
 +gl_FragColor = texture2D(u_TextureUnit,​ v_TextureCoordinates) * vec4(0.5, 0.5, 0.5, 1);
 +</​code>​
 ===== Otros ===== ===== Otros =====
 ==== Código ejemplo iOS ==== ==== Código ejemplo iOS ====
wiki2/ogl.1449419221.txt.gz · Última modificación: 2020/05/09 09:25 (editor externo)