Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GLKit

xissburg
January 30, 2012

 GLKit

Introduction to the new GLKit available in iOS 5.

xissburg

January 30, 2012
Tweet

More Decks by xissburg

Other Decks in Programming

Transcript

  1. Conteúdo O que é OpenGL Motivação - Para que serve?

    GLKit - Introdução Exemplo prático Conclusão Dúvidas?
  2. O que é OpenGL Open Graphics Library OpenGL é uma

    interface de software para o hardware gráfico [The Redbook] Possui mais de 200 funções que permitem controlar o hardware gráfico OpenGL ES: subconjunto do OpenGL para dispositivos móveis
  3. Motivação Onde e quando podemos utilizar o OpenGL? Jogos e

    aplicações de visualização tridimensional Processamento de imagens acelerado em GPU Efeitos e transições impossíveis/inviáveis de se fazer com UIKit, Core Graphics, Core Animation...
  4. GLKit Framework disponível a partir do iOS 5.0 Facilita no

    desenvolvimento de apps que fazem uso do OpenGL Fornece classes utilitárias para carregar texturas, aplicar efeitos básicos e realizar operações entre vetores, matrizes e quaternions
  5. GLKit - Classes GLKView: subclasse de UIView onde o OpenGL

    apresenta seu framebuffer principal GLKViewController: subclasse de UIViewController que implementa o loop de renderização GLKTextureLoader: cria texturas diretamente de imagens Structs: GLKVector2/3/4, GLKMatrix3/4, GLQuaternion
  6. GLKit - OpenGL ES 2.0 Um elemento fundamental do OpenGL

    é o triângulo O triângulo é uma forma geométrica composta por 3 vértices e 3 arestas/lados que são segmentos de reta [Zeidler, Eberhard 2004 - Oxford User's Guide to Mathematics]
  7. GLKit - OpenGL ES 2.0 No OpenGL representamos triângulos com

    arrays de vértices e arrays de índices Cada vértice possui posição, cor, coordenadas de textura, vetor normal, etc O array de índices possui inteiros que fazem referência aos vértices do array de vértices Os índices são dispostos em um array onde cada 3 índices em sequencia define um triângulo
  8. GLKit - OpenGL ES 2.0 Vértices 0 pos = (x0,

    y0, z0) cor = #ff0000 1 pos = (x1, y1, z1) cor = #00ff00 2 pos = (x2, y2, z2) cor = #0000ff 3 pos = (x3, y3, z3) cor = #0000ff
  9. GLKit - OpenGL ES 2.0 Antes de desenhar triângulos no

    OpenGL ES 2.0 temos que fornecer um vertex shader e um fragment shader Vertex shader é um programa que é executado na GPU para cada vértice Fragment shader é um programa que é executado na GPU para cada fragmento Ambos são escritos em GLSL (GL Shading Language)
  10. Conclusão O GLKit de fato facilita a programação de apps

    nos livrando de escrever código boilerplate O GLKMath traz um um bom conjunto de classes de álgebra linear tirando a necessidade de utilizar alguma outra library Infelizmente só podemos utilizá-lo no iOS 5
  11. Referências GLKit Framework Reference - Apple Inc. 2011 Ray Wenderlich

    - http:/ /raywenderlich.com The OpenGL Programming Guide - The Redbook