SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
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 !!!

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfEyshilaKelly1
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 

Kürzlich hochgeladen (20)

Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdf
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.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 !!!