1 de 40INTRODUÇÃO AO FAST LIGHT TOOLKIT - FLTK
The Fast Light ToolKit
Curso de Verão – Instituto de Computação & CA Comput...
2 de 40O QUE É FLTK ?
The Fast Light ToolKit
O FLTK (sigla de Fast Light ToolKit), pronunciado como "fulltick", é um kit d...
3 de 40
Hierarquia de objetos do pacote FLTK
HIERARQUIA DAS CLASSES DO PACOTE FLTK
4 de 40FLUID - FLTK USER INTERFACE DESIGNER/FAST LIGHT USER INTERFACE DESIGNER
FLUID
O FLUID (sigla de FLTK User Interface...
5 de 40SUPORTE A GRÁFICOS 3D VIA OPENGL E A KITS COMO O GLUT
Suporte a OpenGL®
6 de 40
Nosso foco hoje é
suporte a OpenGL,
mas antes vamos
falar um pouco sobre
tecnologia ...
VAMOS FALAR UM POUCO SOBRE...
7 de 40TECNOLOGIAS E PLACAS
Vídeo – Tecnologias e Placas
Visão Geral
Unidade de Processamento
Software e Programação
Fabri...
8 de 40VISÃO GERAL
Visão Geral
Definição e Funções
Memória
Barramento
9 de 40DEFINIÇÃO E FUNÇÕES
Definição e Funções
Placa de Vídeo – Dispositivo responsável pelo
processamento de dados vindos...
10 de 40TABELA COMPARATIVA – PLACAS DE VíDEO
11 de 40MEMÓRIAS
Memórias
GDDR1
GDDR2
GDDR3
GDDR4
GDDR5
GDDR2GDDR3
12 de 40BARRAMENTOS
Barramentos
AGP(Accelerated Graphics Port) – Conexão
dedicado para dispositivos de vídeo com a
memória...
13 de 40AGP - Accelerated Graphics Port
AGP
Esquema de controle e comunicação do barramento AGP
14 de 40MICROSOFT VISUAL C++
PCI - Express
Esquema de controle e comunicação do barramento PCI-Express
15 de 40
Unidade de Processamento
CONCEITOS SOBRE GPU
GPU
PhysX
16 de 40O QUE É GPU ?
GPU – Graphics Processing Unit
GPU (Graphics Processing Unit), conhecido também como
VPU, é um tipo ...
17 de 40EVOLUÇÃO DAS GPU´s
GPU – Evolução
O que aconteceu com as GPU´s nos últimos anos?
Número de operações de ponto flut...
18 de 40CPU VERSUS GPU
CPU X GPU
A GPU dedica mais transistores ao processamento de dados;
Maior número de processadores p...
19 de 40
Pipeline de uma GPU
PIPELINE DE UMA GPU
Estrutura/Esquematização do pipeline de uma GPU
20 de 40API´S PARA GPU´S
API´s para programar a GPU
Alto nível:
– Brook, Sh, RapidMind
– Microsoft Accelerator
• Baixo nív...
21 de 40
Shaders :
– ARB (GPU Assembly Language)
– GLSL (OpenGL Shading Language)
– Cg (C for Graphics – Nvidia)
– HLSL (D...
22 de 40PHYSX
PhysX
O NVIDIA PhysX é um poderoso mecanismo de física, que permite o
uso de elementos físicos em tempo real...
23 de 40SOFTWARE E PROGRAMAÇÃO
Software e Programação
Vertex Shader
Pixel Shader
Geometry Shader
DirectX
OpenGL
24 de 40SHADERS
Shaders
O Shader nada mais é que um campo na computação
gráfica que pode ser usado por um hardware
específ...
25 de 40VERTEX, PIXEL E GEOMETRY
Vertex, Pixel e Geometry Shader
• Vertex shader - Manipula vértices. Esses são
então envi...
26 de 40EXEMPLO DE APLICAÇÃO DOS SHADERS
Aplicação dos Shaders
Exemplo de aplicação dos
shaders em uma “cena”.
27 de 40DIRECTX
DirectX
Microsoft Directx é uma
grande biblioteca de APIs
- Application
Programming Interface
(ou Interfac...
28 de 40OPENGL
OpenGL
O OpenGL é um
conjunto de
algumas centenas
de funções, que
fornecem acesso
a praticamente
todos os r...
29 de 40FABRICANTES E TECNOLOGIAS
Fabricantes e Tenologias
nVidia
ATI
SLI
CrossFire
30 de 40
GeForce GTX 280
FABRICANTE : nVIDIA
31 de 40
Radeon HD 4870 X2
FABRICANTE : ATI
32 de 40
SLI
SLI
Placas de vídeo conectadas em paralelo para aumentar desempenho em
jogos.
PCI-Express 16x
Placa-mãe basea...
33 de 40
CrossFire
CROSSFIRE
Placas de vídeo conectadas em paralelo para aumentar desempenho em
jogos.
PCI-Express 16x
Pla...
34 de 40
Projeções Futuras
PROJEÇÕES FUTURAS
CUDA
APU
35 de 40
CUDA
CUDA
Nvidia : Beneficiar-se do alto desempenho da GPU.
Nvidia x Intel
Processamento Independente e de propós...
36 de 40
AMD [ APU ]
APU
União GPU e CPU em uma única peça de silício;
CPGPU/APU;
GPU: Alto processamento
CPU: Alta progra...
37 de 40
INTEL
INTEL
1ª Geração: Larrabee;
Processamento Independente;
Chips x86 interconectados;
16/48 núcleos;
Suporte t...
38 de 40DÚVIDAS ?
Dúvidas ?
39 de 40PENSAMENTO DO DIA !
Siddhartha Gautama – Mais conhecido como “Buddha”
“Três classes de pessoas são infelizes:
a qu...
40 de 40FIM !!!
Próximos SlideShares
Carregando em…5
×

FLTK Summer Course - Part VIII - Eighth Impact

285 visualizações

Publicada em

FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking. More informations in http://www.fltk.org.

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
285
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
3
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

FLTK Summer Course - Part VIII - Eighth Impact

  1. 1. 1 de 40INTRODUÇÃO AO FAST LIGHT TOOLKIT - FLTK The Fast Light ToolKit Curso de Verão – Instituto de Computação & CA Computação Michel Alves dos Santos - UFAL Bolsista do Centro de Pesquisa em Matemática Computacional 8º Impacto
  2. 2. 2 de 40O QUE É FLTK ? The Fast Light ToolKit O FLTK (sigla de Fast Light ToolKit), pronunciado como "fulltick", é um kit de desenvolvimento de interfaces gráficas para a linguagem C++, disponível para diversos sistemas operacionais (GNU/Linux – através do sistema gráfico X11, M$ Windows® , Mac OS X, OS/2 e Solaris). Suporta gráficos 3D via OpenGL®, bem como provê emulação à biblioteca GLUT. Fornece um rico conjunto de componentes gráficos porém, visando se manter sempre enxuto e modular, prezando pela eficiência sem ostentação. Software Livre distribuído sob a licença LGPL (GNU Library General Public License). Possui uma ferramenta chamada FLUID, que permite de maneira fácil e visual a construção de todo o esqueleto de uma interface gráfica.
  3. 3. 3 de 40 Hierarquia de objetos do pacote FLTK HIERARQUIA DAS CLASSES DO PACOTE FLTK
  4. 4. 4 de 40FLUID - FLTK USER INTERFACE DESIGNER/FAST LIGHT USER INTERFACE DESIGNER FLUID O FLUID (sigla de FLTK User Interface Designer) é um editor visual de interfaces gráficas, uma ferramenta integrante do pacote FLTK, responsável pela geração automática do código fonte (na linguagem C++) da interface gráfica construída.
  5. 5. 5 de 40SUPORTE A GRÁFICOS 3D VIA OPENGL E A KITS COMO O GLUT Suporte a OpenGL®
  6. 6. 6 de 40 Nosso foco hoje é suporte a OpenGL, mas antes vamos falar um pouco sobre tecnologia ... VAMOS FALAR UM POUCO SOBRE TECNOLOGIA
  7. 7. 7 de 40TECNOLOGIAS E PLACAS Vídeo – Tecnologias e Placas Visão Geral Unidade de Processamento Software e Programação Fabricantes e Tecnologias Projeções Futuras
  8. 8. 8 de 40VISÃO GERAL Visão Geral Definição e Funções Memória Barramento
  9. 9. 9 de 40DEFINIÇÃO E FUNÇÕES Definição e Funções Placa de Vídeo – Dispositivo responsável pelo processamento de dados vindos da memória principal. Os resultados do processamento são enviados ao monitor, que irá formar a imagem. NVIDIA Quadro FX 5800 – 4GB de memória e 240 processadores paralelos e programáveis CUDA. Preço aproximado U$ 3499,00. GeForce GTX 280 Radeon HD 4870 X2
  10. 10. 10 de 40TABELA COMPARATIVA – PLACAS DE VíDEO
  11. 11. 11 de 40MEMÓRIAS Memórias GDDR1 GDDR2 GDDR3 GDDR4 GDDR5 GDDR2GDDR3
  12. 12. 12 de 40BARRAMENTOS Barramentos AGP(Accelerated Graphics Port) – Conexão dedicado para dispositivos de vídeo com a memória principal; AGP 1x; AGP 2x; AGP 4x; AGP 8x; PCI Express – Barramento voltado a vários tipos de dispositivos. 1x; 4x; 8x; 16x; 32x;
  13. 13. 13 de 40AGP - Accelerated Graphics Port AGP Esquema de controle e comunicação do barramento AGP
  14. 14. 14 de 40MICROSOFT VISUAL C++ PCI - Express Esquema de controle e comunicação do barramento PCI-Express
  15. 15. 15 de 40 Unidade de Processamento CONCEITOS SOBRE GPU GPU PhysX
  16. 16. 16 de 40O QUE É GPU ? GPU – Graphics Processing Unit GPU (Graphics Processing Unit), conhecido também como VPU, é um tipo de microprocessador especializado em processar gráficos em computadores pessoais, estações de trabalho ou videogames. GPUs modernas têm estrutura de processamento paralelo que as tornam mais capazes neste tipo de trabalho que CPUS normais. Exemplo de algumas “pastilhas” de GPU´s da NVIDIA
  17. 17. 17 de 40EVOLUÇÃO DAS GPU´s GPU – Evolução O que aconteceu com as GPU´s nos últimos anos? Número de operações de ponto flutuante por segundo para a CPU e GPU.
  18. 18. 18 de 40CPU VERSUS GPU CPU X GPU A GPU dedica mais transistores ao processamento de dados; Maior número de processadores paralelos.
  19. 19. 19 de 40 Pipeline de uma GPU PIPELINE DE UMA GPU Estrutura/Esquematização do pipeline de uma GPU
  20. 20. 20 de 40API´S PARA GPU´S API´s para programar a GPU Alto nível: – Brook, Sh, RapidMind – Microsoft Accelerator • Baixo nível: – DirectX, OpenGL – CUDA (Compute Unified Device Architecture) - NVidia – CTM (Closer to Metal) - ATI/AMD
  21. 21. 21 de 40 Shaders : – ARB (GPU Assembly Language) – GLSL (OpenGL Shading Language) – Cg (C for Graphics – Nvidia) – HLSL (DirectX High-Level Shader Language) Exemplo de um vertex shader : void main (void) { vec4 v = vec4(gl_Vertex); v.z = 0.0; gl_Position = gl_ModelViewProjectionMatrix * v; } Programando a GPU PROGRAMANDO A GPU
  22. 22. 22 de 40PHYSX PhysX O NVIDIA PhysX é um poderoso mecanismo de física, que permite o uso de elementos físicos em tempo real nos mais modernos jogos para PC e para console. O software PhysX é compatível com Sony Playstation 3, Microsoft Xbox 360, Nintendo Wii e PC. Criado especificamente para aceleração de hardware através de poderosos processadores com centenas de núcleos. Em conjunto com a excepcional capacidade de processamento paralelo da GPU, o PhysX produz um crescimento exponencial na potência de processamento da física, com recursos tais como:  Explosões com efeitos de poeira e destroços;  Personagens com geometrias complexas e articuladas para permitir movimentação e interação mais realistas;  Espetaculares armas novas, com efeitos incríveis;  Tecidos que se enrugam e rasgam naturalmente;  Fumaça e névoa formadas em torno de objetos em movimento.
  23. 23. 23 de 40SOFTWARE E PROGRAMAÇÃO Software e Programação Vertex Shader Pixel Shader Geometry Shader DirectX OpenGL
  24. 24. 24 de 40SHADERS Shaders O Shader nada mais é que um campo na computação gráfica que pode ser usado por um hardware específico (placa de vídeo) para renderizar efeitos. O Shader é responsável por calcular efeitos(cores) e também por calcular a visibilidade de um objeto. Exemplo de shader usando o famoso e adorado TeaPot.
  25. 25. 25 de 40VERTEX, PIXEL E GEOMETRY Vertex, Pixel e Geometry Shader • Vertex shader - Manipula vértices. Esses são então enviados para os geometry shaders. • Geometry shader - Combina uma série de vértices em objetos que serão processados pelos pixel shaders. • Pixel shader - Um pixel shader serve para manipular um pixel, geralmente para aplicar um efeito em uma imagem, exemplos: realismo, sombras e efeitos de explosões.
  26. 26. 26 de 40EXEMPLO DE APLICAÇÃO DOS SHADERS Aplicação dos Shaders Exemplo de aplicação dos shaders em uma “cena”.
  27. 27. 27 de 40DIRECTX DirectX Microsoft Directx é uma grande biblioteca de APIs - Application Programming Interface (ou Interface de Programação de Aplicativos) para aplicações relacionadas a multimídia e programação de jogos, usando as plataformas da Microsoft.
  28. 28. 28 de 40OPENGL OpenGL O OpenGL é um conjunto de algumas centenas de funções, que fornecem acesso a praticamente todos os recursos do hardware de vídeo.
  29. 29. 29 de 40FABRICANTES E TECNOLOGIAS Fabricantes e Tenologias nVidia ATI SLI CrossFire
  30. 30. 30 de 40 GeForce GTX 280 FABRICANTE : nVIDIA
  31. 31. 31 de 40 Radeon HD 4870 X2 FABRICANTE : ATI
  32. 32. 32 de 40 SLI SLI Placas de vídeo conectadas em paralelo para aumentar desempenho em jogos. PCI-Express 16x Placa-mãe baseada no chipset nVIDIA. Mesmo chip Gráfico SLI, SLI-Quad , SLI de três vias. . Modos: SFR (Split Frame Rendering) AFR (Alternate Frame Rendering) AFR de SFR SLI AA (Anti-Alising) Apenas uma saída de vídeo e aumento menor que 100%.
  33. 33. 33 de 40 CrossFire CROSSFIRE Placas de vídeo conectadas em paralelo para aumentar desempenho em jogos. PCI-Express 16x Placa-mãe baseada chipset AMD / ATI ou Intel. Pode usar chip Gráfico diferente. (Mesma Família). CrossFire, CrossFire Nativo, CrossFireX. . Modos: Scissors SuperTiling AFR (Alternate Frame Rendering) Super AA (Anti-Alising) Apenas uma saída de vídeo e aumento menor que 100%.
  34. 34. 34 de 40 Projeções Futuras PROJEÇÕES FUTURAS CUDA APU
  35. 35. 35 de 40 CUDA CUDA Nvidia : Beneficiar-se do alto desempenho da GPU. Nvidia x Intel Processamento Independente e de propósito geral em cada Stream/thread processor Base para a criação do PhysX
  36. 36. 36 de 40 AMD [ APU ] APU União GPU e CPU em uma única peça de silício; CPGPU/APU; GPU: Alto processamento CPU: Alta programabilidade Núcleos Heterogêneos DirectX 10.1 Possivelmente utilizará a Arquitetura da GPU RV 800
  37. 37. 37 de 40 INTEL INTEL 1ª Geração: Larrabee; Processamento Independente; Chips x86 interconectados; 16/48 núcleos; Suporte tanto a OpenGL como Directx.
  38. 38. 38 de 40DÚVIDAS ? Dúvidas ?
  39. 39. 39 de 40PENSAMENTO DO DIA ! Siddhartha Gautama – Mais conhecido como “Buddha” “Três classes de pessoas são infelizes: a que não sabe e não pergunta, a que sabe e não ensina, a que ensina e não faz”
  40. 40. 40 de 40FIM !!!

×