SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
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 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 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 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 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 TECNOLOGIA
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 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 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 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 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 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 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 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 de 40CPU VERSUS GPU
CPU X GPU
A GPU dedica mais transistores ao processamento de dados;
Maior número de processadores paralelos.
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ível:
– DirectX, OpenGL
– CUDA (Compute Unified Device Architecture) - NVidia
– CTM (Closer to Metal) - ATI/AMD
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 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 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í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 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 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 Interface de
Programação de
Aplicativos) para
aplicações relacionadas a
multimídia e programação
de jogos, usando as
plataformas da Microsoft.
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 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 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 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 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ósito geral em
cada Stream/thread processor
Base para a criação do PhysX
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 de 40
INTEL
INTEL
1ª Geração: Larrabee;
Processamento Independente;
Chips x86 interconectados;
16/48 núcleos;
Suporte tanto a OpenGL como Directx.
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 que não sabe e não pergunta, a que
sabe e não ensina, a que ensina e não
faz”
40 de 40FIM !!!

Mais conteúdo relacionado

Destaque

EuroPython 2013 - FAST, DOCUMENTED AND RELIABLE JSON BASED WEBSERVICES WITH P...
EuroPython 2013 - FAST, DOCUMENTED AND RELIABLE JSON BASED WEBSERVICES WITH P...EuroPython 2013 - FAST, DOCUMENTED AND RELIABLE JSON BASED WEBSERVICES WITH P...
EuroPython 2013 - FAST, DOCUMENTED AND RELIABLE JSON BASED WEBSERVICES WITH P...Alessandro Molina
 
FLTK Summer Course - Part VI - Sixth Impact - Exercises
FLTK Summer Course - Part VI - Sixth Impact - ExercisesFLTK Summer Course - Part VI - Sixth Impact - Exercises
FLTK Summer Course - Part VI - Sixth Impact - ExercisesMichel Alves
 
"Git Hooked!" Using Git hooks to improve your software development process
"Git Hooked!" Using Git hooks to improve your software development process"Git Hooked!" Using Git hooks to improve your software development process
"Git Hooked!" Using Git hooks to improve your software development processPolished Geek LLC
 
Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsCarl Brown
 
Using Git on the Command Line
Using Git on the Command LineUsing Git on the Command Line
Using Git on the Command LineBrian Richards
 
Servicios web con Python
Servicios web con PythonServicios web con Python
Servicios web con PythonManuel Pérez
 
Code Refactoring - Live Coding Demo (JavaDay 2014)
Code Refactoring - Live Coding Demo (JavaDay 2014)Code Refactoring - Live Coding Demo (JavaDay 2014)
Code Refactoring - Live Coding Demo (JavaDay 2014)Peter Kofler
 
FLTK Summer Course - Part I - First Impact - Exercises
FLTK Summer Course - Part I - First Impact - ExercisesFLTK Summer Course - Part I - First Impact - Exercises
FLTK Summer Course - Part I - First Impact - ExercisesMichel Alves
 
Manipulating file in Python
Manipulating file in PythonManipulating file in Python
Manipulating file in Pythonshoukatali500
 
FLTK Summer Course - Part VII - Seventh Impact
FLTK Summer Course - Part VII  - Seventh ImpactFLTK Summer Course - Part VII  - Seventh Impact
FLTK Summer Course - Part VII - Seventh ImpactMichel Alves
 
Creating Custom Drupal Modules
Creating Custom Drupal ModulesCreating Custom Drupal Modules
Creating Custom Drupal Modulestanoshimi
 
FLTK Summer Course - Part II - Second Impact
FLTK Summer Course - Part II - Second ImpactFLTK Summer Course - Part II - Second Impact
FLTK Summer Course - Part II - Second ImpactMichel Alves
 
Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Anil Sagar
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsMichel Alves
 
FLTK Summer Course - Part III - Third Impact
FLTK Summer Course - Part III - Third ImpactFLTK Summer Course - Part III - Third Impact
FLTK Summer Course - Part III - Third ImpactMichel Alves
 
Git hooks For PHP Developers
Git hooks For PHP DevelopersGit hooks For PHP Developers
Git hooks For PHP DevelopersUmut IŞIK
 
FLTK Summer Course - Part II - Second Impact - Exercises
FLTK Summer Course - Part II - Second Impact - Exercises FLTK Summer Course - Part II - Second Impact - Exercises
FLTK Summer Course - Part II - Second Impact - Exercises Michel Alves
 
Internal Anatomy of an Update
Internal Anatomy of an UpdateInternal Anatomy of an Update
Internal Anatomy of an UpdateMongoDB
 
Minimal standard c program
Minimal standard c programMinimal standard c program
Minimal standard c programSwain Loda
 

Destaque (20)

EuroPython 2013 - FAST, DOCUMENTED AND RELIABLE JSON BASED WEBSERVICES WITH P...
EuroPython 2013 - FAST, DOCUMENTED AND RELIABLE JSON BASED WEBSERVICES WITH P...EuroPython 2013 - FAST, DOCUMENTED AND RELIABLE JSON BASED WEBSERVICES WITH P...
EuroPython 2013 - FAST, DOCUMENTED AND RELIABLE JSON BASED WEBSERVICES WITH P...
 
FLTK Summer Course - Part VI - Sixth Impact - Exercises
FLTK Summer Course - Part VI - Sixth Impact - ExercisesFLTK Summer Course - Part VI - Sixth Impact - Exercises
FLTK Summer Course - Part VI - Sixth Impact - Exercises
 
"Git Hooked!" Using Git hooks to improve your software development process
"Git Hooked!" Using Git hooks to improve your software development process"Git Hooked!" Using Git hooks to improve your software development process
"Git Hooked!" Using Git hooks to improve your software development process
 
Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and Concepts
 
Using Git on the Command Line
Using Git on the Command LineUsing Git on the Command Line
Using Git on the Command Line
 
Servicios web con Python
Servicios web con PythonServicios web con Python
Servicios web con Python
 
Code Refactoring - Live Coding Demo (JavaDay 2014)
Code Refactoring - Live Coding Demo (JavaDay 2014)Code Refactoring - Live Coding Demo (JavaDay 2014)
Code Refactoring - Live Coding Demo (JavaDay 2014)
 
FLTK Summer Course - Part I - First Impact - Exercises
FLTK Summer Course - Part I - First Impact - ExercisesFLTK Summer Course - Part I - First Impact - Exercises
FLTK Summer Course - Part I - First Impact - Exercises
 
Advanced Git
Advanced GitAdvanced Git
Advanced Git
 
Manipulating file in Python
Manipulating file in PythonManipulating file in Python
Manipulating file in Python
 
FLTK Summer Course - Part VII - Seventh Impact
FLTK Summer Course - Part VII  - Seventh ImpactFLTK Summer Course - Part VII  - Seventh Impact
FLTK Summer Course - Part VII - Seventh Impact
 
Creating Custom Drupal Modules
Creating Custom Drupal ModulesCreating Custom Drupal Modules
Creating Custom Drupal Modules
 
FLTK Summer Course - Part II - Second Impact
FLTK Summer Course - Part II - Second ImpactFLTK Summer Course - Part II - Second Impact
FLTK Summer Course - Part II - Second Impact
 
Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and Reports
 
FLTK Summer Course - Part III - Third Impact
FLTK Summer Course - Part III - Third ImpactFLTK Summer Course - Part III - Third Impact
FLTK Summer Course - Part III - Third Impact
 
Git hooks For PHP Developers
Git hooks For PHP DevelopersGit hooks For PHP Developers
Git hooks For PHP Developers
 
FLTK Summer Course - Part II - Second Impact - Exercises
FLTK Summer Course - Part II - Second Impact - Exercises FLTK Summer Course - Part II - Second Impact - Exercises
FLTK Summer Course - Part II - Second Impact - Exercises
 
Internal Anatomy of an Update
Internal Anatomy of an UpdateInternal Anatomy of an Update
Internal Anatomy of an Update
 
Minimal standard c program
Minimal standard c programMinimal standard c program
Minimal standard c program
 

Semelhante a Introdução ao FLTK

Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Filipo Mór
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDAFilipo Mór
 
ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.
ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.
ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.Fabrício Pinheiro
 
A história e evolução das placas de video
A história e evolução das placas de videoA história e evolução das placas de video
A história e evolução das placas de videoElaine Cecília Gatto
 
Graficas e monitores
Graficas e monitoresGraficas e monitores
Graficas e monitoresdsde
 
Apresentacao + Demo Brazos
Apresentacao + Demo BrazosApresentacao + Demo Brazos
Apresentacao + Demo BrazosRoberto Brandao
 
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB HarmonyDesenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB HarmonyDaniel Rodrigues de Sousa
 
Monitores e Sistema de Vídeos
Monitores e Sistema de VídeosMonitores e Sistema de Vídeos
Monitores e Sistema de VídeosPaulo Brito
 
Placas GráFicas Realease1
Placas GráFicas Realease1Placas GráFicas Realease1
Placas GráFicas Realease1spidi_pt
 
Chipsets Amd Webseminario
Chipsets Amd WebseminarioChipsets Amd Webseminario
Chipsets Amd WebseminarioRoberto Brandao
 
Defesa TC V1.2.1
Defesa TC V1.2.1Defesa TC V1.2.1
Defesa TC V1.2.1B Bellaver
 
Java alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionaisJava alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionaisLeonardo Simberg
 
Comparação de sistemas operativos cliente
Comparação de sistemas operativos clienteComparação de sistemas operativos cliente
Comparação de sistemas operativos clienteAndré Dias
 
Placas Gráficas e Monitores
Placas Gráficas e MonitoresPlacas Gráficas e Monitores
Placas Gráficas e Monitoresdsde
 
Desenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma XnaDesenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma XnaEllison Leão
 

Semelhante a Introdução ao FLTK (20)

Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
 
Chipset 780
Chipset 780Chipset 780
Chipset 780
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
 
ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.
ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.
ATi Radeon - O poder da computação visual para tirar o máximo do seu computador.
 
DirectX11: Fundamentos
DirectX11: FundamentosDirectX11: Fundamentos
DirectX11: Fundamentos
 
A história e evolução das placas de video
A história e evolução das placas de videoA história e evolução das placas de video
A história e evolução das placas de video
 
Graficas e monitores
Graficas e monitoresGraficas e monitores
Graficas e monitores
 
Graficas e monitores
Graficas e monitoresGraficas e monitores
Graficas e monitores
 
Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
 
Apresentacao + Demo Brazos
Apresentacao + Demo BrazosApresentacao + Demo Brazos
Apresentacao + Demo Brazos
 
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB HarmonyDesenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
 
Monitores e Sistema de Vídeos
Monitores e Sistema de VídeosMonitores e Sistema de Vídeos
Monitores e Sistema de Vídeos
 
Placas GráFicas Realease1
Placas GráFicas Realease1Placas GráFicas Realease1
Placas GráFicas Realease1
 
Chipsets Amd Webseminario
Chipsets Amd WebseminarioChipsets Amd Webseminario
Chipsets Amd Webseminario
 
Defesa TC V1.2.1
Defesa TC V1.2.1Defesa TC V1.2.1
Defesa TC V1.2.1
 
Java alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionaisJava alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionais
 
OpenKinect, o Kinect para todos
OpenKinect, o Kinect para todosOpenKinect, o Kinect para todos
OpenKinect, o Kinect para todos
 
Comparação de sistemas operativos cliente
Comparação de sistemas operativos clienteComparação de sistemas operativos cliente
Comparação de sistemas operativos cliente
 
Placas Gráficas e Monitores
Placas Gráficas e MonitoresPlacas Gráficas e Monitores
Placas Gráficas e Monitores
 
Desenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma XnaDesenvolvimento De Jogos Na Plataforma Xna
Desenvolvimento De Jogos Na Plataforma Xna
 

Mais de Michel Alves

Texture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseTexture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseMichel Alves
 
Intelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesIntelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesMichel Alves
 
A Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresA Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresMichel Alves
 
Effectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesEffectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesMichel Alves
 
Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel FunctionsMichel Alves
 
About Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceAbout Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceMichel Alves
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - ResultsMichel Alves
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseMichel Alves
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexMichel Alves
 
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationQualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationMichel Alves
 
Month Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMonth Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMichel Alves
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in RMichel Alves
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel PrototypeMichel Alves
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh PlotMichel Alves
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesMichel Alves
 
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogCapacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogMichel Alves
 
Capacity-Constrained Point Distributions :: Complementary Results
Capacity-Constrained Point Distributions :: Complementary ResultsCapacity-Constrained Point Distributions :: Complementary Results
Capacity-Constrained Point Distributions :: Complementary ResultsMichel Alves
 

Mais de Michel Alves (20)

Texture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseTexture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU Use
 
Intelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesIntelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color Palettes
 
A Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresA Framework for Harmonic Color Measures
A Framework for Harmonic Color Measures
 
Effectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesEffectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment Indexes
 
Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel Functions
 
About Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceAbout Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV Space
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - Results
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin Noise
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM Index
 
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationQualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
 
Month Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMonth Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJ
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in R
 
Sigmoid Curve Erf
Sigmoid Curve ErfSigmoid Curve Erf
Sigmoid Curve Erf
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel Prototype
 
Cosine Curve
Cosine CurveCosine Curve
Cosine Curve
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh Plot
 
Triangle Plot
Triangle PlotTriangle Plot
Triangle Plot
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video Slides
 
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogCapacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function Catalog
 
Capacity-Constrained Point Distributions :: Complementary Results
Capacity-Constrained Point Distributions :: Complementary ResultsCapacity-Constrained Point Distributions :: Complementary Results
Capacity-Constrained Point Distributions :: Complementary Results
 

Último

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfHELENO FAVACHO
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfLuizaAbaAba
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 

Último (20)

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 

Introdução ao FLTK

  • 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 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 de 40 Hierarquia de objetos do pacote FLTK HIERARQUIA DAS CLASSES DO PACOTE FLTK
  • 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 de 40SUPORTE A GRÁFICOS 3D VIA OPENGL E A KITS COMO O GLUT Suporte a OpenGL®
  • 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 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 de 40VISÃO GERAL Visão Geral Definição e Funções Memória Barramento
  • 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 de 40TABELA COMPARATIVA – PLACAS DE VíDEO
  • 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 de 40AGP - Accelerated Graphics Port AGP Esquema de controle e comunicação do barramento AGP
  • 14. 14 de 40MICROSOFT VISUAL C++ PCI - Express Esquema de controle e comunicação do barramento PCI-Express
  • 15. 15 de 40 Unidade de Processamento CONCEITOS SOBRE GPU GPU PhysX
  • 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 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 de 40CPU VERSUS GPU CPU X GPU A GPU dedica mais transistores ao processamento de dados; Maior número de processadores paralelos.
  • 19. 19 de 40 Pipeline de uma GPU PIPELINE DE UMA GPU Estrutura/Esquematização do pipeline de uma GPU
  • 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 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 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 de 40SOFTWARE E PROGRAMAÇÃO Software e Programação Vertex Shader Pixel Shader Geometry Shader DirectX OpenGL
  • 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 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 de 40EXEMPLO DE APLICAÇÃO DOS SHADERS Aplicação dos Shaders Exemplo de aplicação dos shaders em uma “cena”.
  • 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 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 de 40FABRICANTES E TECNOLOGIAS Fabricantes e Tenologias nVidia ATI SLI CrossFire
  • 30. 30 de 40 GeForce GTX 280 FABRICANTE : nVIDIA
  • 31. 31 de 40 Radeon HD 4870 X2 FABRICANTE : ATI
  • 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 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 de 40 Projeções Futuras PROJEÇÕES FUTURAS CUDA APU
  • 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 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 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 de 40DÚVIDAS ? Dúvidas ?
  • 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 de 40FIM !!!