Trabalho pedido em sala sobre CG, uma linguagem criada pela Nvidia, para a utilizacao em seus proprios games.Por que a CG foi criada?CG (ou C for Graphics) e linguagem criada pela Nvidia, sendo uma linguagem utilizada para o sombreamento de alto nivel para programacao de vertex e sombreamento de pixels. E semelhante ao Microsoft HLSL.A CG e baseada na linguagem de programacao C e mesmo usando a mesma sintxe, foram adicionadas informacoes para facitar seu uso e a limpeza para a programacao de unidades de processamento graficos (graphics processing units GPU).Essa linguagem e somente usada para a programacao em GPU e e substituida por nenhuma linguagem de programacao. Estas foram algumas perguntas pedidas em aula pelo professor, com intuito de testar nossos conehcimentos na area em grupo.1)O que possibilitou o desenvolvimento da ferramenta Maya?O desenvolvimento da ferramenta Maya se deu devido a uma ideia criativa, que foi a criacao de uma GUI customizavel, aliada a softwares 3D poderosos (Alias e Wavefront) e muitos investimentos, principalmente da industria de animacao e efeitos para filmes (como a propria Disney).2)Os efeitos aplicados em games tem evoluido muito, cite dois softwares especificos e suas caracteristicas.Havok E um software de fisica que permite o controle de colisoes, e dinamicas de corpos rigidos, incluindo efeitos de tecidos cabelos e particulas.Adobe After Effects - Cria efeitos visuais e animacoes com renderizacao 3D para videos e imagens.3)Os processos digitais, sua historia e evolucao, se confundem com a historia e audicao dos games. Cite 3 contistas e suas contribuicoes para o desenvolvimento dessas tecnicas. Ken Shoemake Criador da teoria dos quaterniosJohn Von Neumann Criador dos computosClaude Elwood Shannon Idealizador da inteligencia artificial Neste trabalho teve-se que procurar o codigo fonte de algum jogo e achar a parte matematica da programacao de um jogo. O jogo escolhido foi Doom.Exemplo de matematica no codigoif (W_CheckNumForName ("TEXTURE2") != -1) { maptex2 = W_CacheLumpName ("TEXTURE2", PU_STATIC); numtextures2 = LONG(*maptex2); maxoff2 = W_LumpLength (W_GetNumForName ("TEXTURE2")); } else { maptex2 = NULL; numtextures2 = 0; maxoff2 = 0; } numtextures = numtextures1 + numtextures2; textures = Z_Malloc (numtextures*4, PU_STATIC, 0); texturecolumnlump = Z_Malloc (numtextures*4, PU_STATIC, 0); texturecolumnofs = Z_Malloc (numtextures*4, PU_STATIC, 0); texturecomposite = Z_Malloc (numtextures*4, PU_STATIC, 0); texturecompositesize = Z_Malloc (numtextures*4, PU_STATIC, 0); texturewidthmask = Z_Malloc (numtextures*4, PU_STATIC, 0); textureheight = Z_Malloc (numtextures*4, PU_STATIC, 0); totalwidth = 0; temp1 = W_GetNumForName ("S_START"); temp2 = W_GetNumForName ("S_END") - 1; temp3 = ((temp2-temp1+63)/64) + ((numtextures+63)/64); printf("["); for (i = 0; i < i =" 0;" i="0"> maxoff) I_Error ("R_InitTextures: bad texture directory"); mtexture = (maptexture_t *) ( (byte *)maptex + offset); texture = textures[i] = Z_Malloc (sizeof(texture_t) + sizeof(texpatch_t)*(SHORT(mtexture->patchcount)-1), PU_STATIC, 0); texture->width = SHORT(mtexture->width); texture->height = SHORT(mtexture->height); texture->patchcount = SHORT(mtexture->patchcount); memcpy (texture->name, mtexture->name, sizeof(texture->name)); mpatch = &mtexture->patches[0]; patch = &texture->patches[0]; Neste trabalho foram pesquisadas engines de jogos, que sao os programas que fazem os games. Existindo tipos de engines: Fisicas, graficas e comportamentais, casa uma com sua funcao.A engine fisica e um software de computador que permite a simulacao de corpos rigidos, assim podendo ser usados para colisoes, fluidos, entre outros.Exemplos de desta engine: * Box2D * Bullet