![Page 1: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/1.jpg)
Parte 2 - Arquitetura de GPU´s
referência
GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time GraphicsRandima Fernando
referência
GPU Gems 2 : Programming Techniques for High-Performance Graphics and General-Purpose Computation Matt Pharr, Randima Fernando
![Page 2: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/2.jpg)
a. Arquitetura de Hardware
![Page 3: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/3.jpg)
InterfaceCPU - GPU
CPU
InterfaceGPU - Video
Enginede
Geometria
Engines de Rasterização
FrontBuffer
BackBuffers
ZBuffer
StencilBuffer
Texture Buffer
Memória
de
vídeo
Processador(es)
Back Buffer
Front Buffer
Arquitetura de GPUs
![Page 4: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/4.jpg)
Arquitetura de GPUs
![Page 5: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/5.jpg)
Arquitetura de GPUs
![Page 6: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/6.jpg)
b. Programação de GPUs
![Page 7: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/7.jpg)
NVídia FX Composer ATI Rendermonkey
- Linguagens: Cg, HLSL, OpenGL Shader Language- Ambientes de Desenvolvimento
Programação de GPUs
![Page 8: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/8.jpg)
Tipos de Variáveis
- int, float, bool, struct, in, out, string
- vetores: float2, float3, float4Float4 cor;Vermelho = cor[0];Vermelho = cor.r;Vermelho = cor.x;
Float2 parte = cor.xy; (swizzling)Float2 parte = {cor[0], cor[1]};
![Page 9: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/9.jpg)
Matrizes
-floatLxC: float3x4, float4x4...-Matrix <float, 4, 4> Matriz2;
-Floar4x4 matriz1;-Float b = matriz1.m11;-Float c = matriz1[0][1];
![Page 10: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/10.jpg)
Funções Intrínsecas
Abs (a), acos(x), all(x) [todos os componentes são não zero], any(x), asin(x), atan(x), atan2(y,x), ceil(x), clamp(x, min, max), clip(x), cos(x), cosh(x), cross(a, b), D3DCOLORtoUBYTE4(x), ddx(x), ddy(x), degree(x), determinant(m), distance(a,b), dot(a, b), exp(x), exp2(value a), faceforward(n, i, ng), floor(x), fmod(a, b), frac(x), frexp(x, out exp), fwidth(x), isfinite(x), isinf(x), isnan(x), idexp(x, exp), length(v), lerp(a, b, s), lit(n.l, n.h, m), log(x), log10(x), log2(x), max(a, b), min(a, b), modf(x, out ip), mul (a, B), noise(x), normalize(v), pow(x, y), radians(x), reflect(i, n), refract(i, n, R), round(x), rsqrt(x), saturate(x), sign(x), sin(x), sincos(x, out s, out c), sinh(x), smoothstep(min, max, x), value sqrt(value a), step(a, x), tan(x), tanh(x), tex1D(s, t), tex1D(s, t, ddx, ddy), tex1Dbias(s, t), tex1Dgrad(s, t, ddx, ddy), tex1Dlod(s, t), tex1Dproj(s, t), tex2D(s, t), tex2D(s, t, ddx, ddy), tex2Dbias(s, t), tex2Dgrad(s, t, ddx, ddy), tex2Dlod(s, t), tex2Dproj(s, t), tex3D(s, t), tex3D(s, t, ddx, ddy), tex3Dbias(s, t), tex3Dgrad(s, t, ddx, ddy), tex3Dlod(s, t), tex3Dproj(s, t), texCUBE(s, t), texCUBE(s, t, ddx, ddy), texCUBEbias(s, t), texCUBEgrad(s, t, ddx, ddy), texCUBElod(s, t), texCUBEproj(s, t), transpose(m)
![Page 11: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/11.jpg)
Loops e Condicionais
If, While, do, for ...
![Page 12: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/12.jpg)
c. Vertex Programming
![Page 13: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/13.jpg)
Operações nesta etapa:- Transformação da posição do vértice- Geração de coordenadas de textura para a posição do vértice- Iluminação sobre o vértice- Operações para determinar o material a ser aplicado ao vértice
Efeitos:- Geração de texturas procedurais- Efeitos de iluminação per-vertex- Animação procedural em vértices- Displacement mapping
c. Vertex Programming
![Page 14: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/14.jpg)
Struct input Vertex
Struct VertexInput{
float4 Position : POSITION0;float3 Normal : NORMAL;float4 TextureCoor : TEXCOORD0;
}
BINORMAL[n]BLENDINDICES[n]BLENDWEIGHT [n]COLOR[n]NORMAL[n]POSITION[n]PSIZE[n]TANGENT[n]TESSFACTOR[n]TEXCOORD[n]
![Page 15: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/15.jpg)
Struct output Vertex
Struct VertexOutput{
float4 Position : POSITION0;float4 TextureCoor : TEXCOORD0;
}
COLOR[n]FOGPOSITIONPSIZETEXCOORD[n]
![Page 16: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/16.jpg)
Struct VertexInput{
float4 Position : POSITION;float2 TexCoord : TEXCOORD0;
}
Struct VertexOutput{
floar4 Position : POSITION;float2 TexCoord : TEXCOORD0;
}
c. Vertex Programming
![Page 17: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/17.jpg)
VertexOutPut AulaVerterxShader (VertexInput input){
VertexOutput output;WorldViewProjection = mul (mul(World, View), Projection);output.Position = mul(input.Position, WorldViewProjection);output.TexCoord = input.TexCoord;return (output);
}
c. Vertex Programming
![Page 18: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/18.jpg)
d. Pixel Programming
![Page 19: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/19.jpg)
Operações nesta etapa:- Computar a cor de um fragmento- Alterar iluminação “per-pixel”- gl_FragCoord
d. Pixel Programming
![Page 20: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/20.jpg)
Struct input Pixel
Struct PixelInput{
float4 Color : COLOR0;}
COLOR[n]TEXCOORD[n]VFACEVPOS
![Page 21: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/21.jpg)
Struct output Pixel
Struct PixelOutput{
float4 Position : POSITION0;float Depth : DEPTH;
}
COLOR[n]DEPTH[n]
![Page 22: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/22.jpg)
Struct PixelInput{
float2 TexCoord : TEXCOORD0;}
d. Pixel Programming
![Page 23: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/23.jpg)
Float4 pixelShader (PixelInput input) : COLOR{
return (tex2D (TextureSampler, input.TexCoord) * AmbientColor);}
d. Pixel Programming
![Page 24: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/24.jpg)
Exemplo no XNA – Arquivo Ambiente.fx
float4 AmbientColor : COLOR0;
float4x4 WorldViewProjection : WORLDVIEWPROJECTION;texture Texture;sampler TextureSampler = sampler_state{
texture = <Texture>;magfilter = LINEAR;minfilter = LINEAR;mipfilter = LINEAR;
};
![Page 25: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/25.jpg)
Exemplo no XNA – Arquivo Ambiente.fx
struct VertexInput{
float4 Position : POSITION;float2 TexCoord : TEXCOORD0;
};
struct VertexOutput{
float4 Position : POSITION;float2 TexCoord : TEXCOORD0;
};
VertexOutput vertexShader (VertexInput input){
VertexOutput output;WorldViewProjection = mul (mul (World, View), Projection);output.Position = mul(input.Position, WorldViewProjection);output.TexCoord = input.TexCoord;return (output);
}
![Page 26: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/26.jpg)
Exemplo no XNA – Arquivo Ambiente.fx
struct PixelInput{
float2 TexCoord : TEXCOORD0;};
float4 pixelShader (PixelInput input) : COLOR{
//return (tex2D (TextureSampler, input.TexCoord)* AmbientColor);return (1.0f, 1.0f, 1.0f, 0.0f);
}
technique Default{
pass P0{
VertexShader = compile vs_1_1 vertexShader();PixelShader = compile ps_1_1 pixelShader ();
}}
![Page 27: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/27.jpg)
Exemplo no XNA – Projeto .net
amespace Load3DObject{ /// <summary> /// This is the main type for your game /// </summary> public class Game1 : Microsoft.Xna.Framework.Game { private GraphicsDeviceManager graphics; private ContentManager content;
private Matrix world; private Model model;
private FPS fps; private FirstPersonCamera camera; private InputHandler input;
private Texture2D greyAsteroid; private Texture2D originalAsteroid;
Effect shader;
![Page 28: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/28.jpg)
Exemplo no XNA – Projeto .net
public Game1() { graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services);
input = new InputHandler(this); Components.Add(input); camera = new FirstPersonCamera(this); Components.Add(camera); }
![Page 29: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/29.jpg)
Exemplo no XNA – Projeto .net
protected override void Initialize(){ base.Initialize(); shader.Parameters["AmbientColor"].SetValue(0.8f);}
![Page 30: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/30.jpg)
Exemplo no XNA – Projeto .net
protected override void LoadGraphicsContent(bool loadAllContent) { if (loadAllContent) { model = content.Load<Model>(@"Content\Models\asteroid1"); greyAsteroid = content.Load<Texture2D>(@"Content\Textures\asteroid1-grey"); originalAsteroid = content.Load<Texture2D>(@"Content\Textures\asteroid1"); shader = content.Load<Effect>(@"Content\effects\ambiente"); }
}
protected override void UnloadGraphicsContent(bool unloadAllContent){ if (unloadAllContent == true) { content.Unload(); }}
![Page 31: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/31.jpg)
Exemplo no XNA – Projeto .net
protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit();
base.Update(gameTime); }
![Page 32: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/32.jpg)
Exemplo no XNA – Projeto .net
protected override void Draw(GameTime gameTime) { graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
// TODO: Add your drawing code here world = Matrix.CreateRotationY( MathHelper.ToRadians(270.0f * (float)gameTime.TotalGameTime.TotalSeconds)) * Matrix.CreateTranslation(new Vector3(0, 0, -4000)); DrawModel(ref model, ref world, greyAsteroid);
world = Matrix.CreateRotationY( MathHelper.ToRadians(45.0f * (float)gameTime.TotalGameTime.TotalSeconds)) * Matrix.CreateRotationZ( MathHelper.ToRadians(45.0f * (float)gameTime.TotalGameTime.TotalSeconds)) * Matrix.CreateTranslation(new Vector3(0, 0, 4000)); DrawModel(ref model, ref world, originalAsteroid);
base.Draw(gameTime); }
![Page 33: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/33.jpg)
Exemplo no XNA – Projeto .net
private void DrawModel(ref Model m, ref Matrix world, Texture2D texture){
Matrix[] transforms = new Matrix[m.Bones.Count];m.CopyAbsoluteBoneTransformsTo(transforms);
foreach (ModelMesh mesh in m.Meshes) { foreach (ModelMeshPart mp in mesh.MeshParts) { if (texture != null) shader.Parameters["Texture"].SetValue(texture); shader.Parameters["Projection"].SetValue(camera.Projection); shader.Parameters["View"].SetValue(camera.View); shader.Parameters["World"].SetValue(world * mesh.ParentBone.Transform); mp.Effect = shader; mesh.Draw(); } } }
![Page 34: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/34.jpg)
e. General Pourpose GPUs
![Page 35: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/35.jpg)
Requisitos dos Motores
Encapsulamento
Integração
Independência de Plataforma
Otimização em Hardware
Gerenciamento de Projeto
![Page 36: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/36.jpg)
Arquitetura
Níveis de Abstração:
SDK
Ferramental
![Page 37: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/37.jpg)
Arquitetura SDK
referência
3D Game Engine Architecture : Engineering Real-Time Applications with Wild Magic David H. Eberly
![Page 38: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/38.jpg)
Arquitetura SDK
Interpretador de scripts
Matemática<<Biblioteca>>
Aúdio/vídeo<<Biblioteca>>
Renderização<<Biblioteca>>
Animação<<Biblioteca>>
Recursos<<Biblioteca>>
Redes<<Biblioteca>>
Física<<Biblioteca>>
![Page 39: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/39.jpg)
Biblioteca Matemática
Operações de Vetores
Operações de Matrizes
Operações de Quaternions
Operações de Interceção
Biblioteca baseada em GPUs
referência
Essential Mathematics for Games and Interactive Applications : A Programmer's GuideJames M. Van Verth, Lars M. Bishop
![Page 40: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/40.jpg)
Biblioteca de Rendering
Abstração de APIs
Implementação do Pipeline
Leitor de shaders
referência
Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization André LaMothe
![Page 41: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/41.jpg)
Biblioteca de Física
![Page 42: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/42.jpg)
Biblioteca de Rede
referência
Programming Multiplayer Games Andrew Mulholland
![Page 43: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/43.jpg)
Biblioteca de Recursos
referência
Standard Codecs: Image Compression to Advanced Video Coding M. Ghanbari
referência
www.gametutorials.com
![Page 44: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/44.jpg)
Parser de Scripts
Mapeamento com atributos dos objetos dinâmicos de um cenário
Mapeamento com algumas funções do SDK
![Page 45: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/45.jpg)
Arquitetura Ferramental
referência
3D Game Programming All in One Kenneth C Finney
![Page 46: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/46.jpg)
Arquitetura Ferramental
SDK Editor de scripts
Editor de fases
Ambiente de teste
Motor de execução
Conversores Exportadores
Otimizadores
Editor de modelos
![Page 47: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/47.jpg)
Arquitetura Ferramental
Engine Core
SDK
Level Editors
Script editors Conversores / Exportadores
Front End
BuildersEXEMPLO
![Page 48: Parte 2 - Arquitetura de GPU´s referência GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics Randima Fernando referência GPU Gems](https://reader035.vdocument.in/reader035/viewer/2022062418/552fc10b497959413d8c1780/html5/thumbnails/48.jpg)
Arquitetura Ferramental