Implementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW.

Documentos relacionados
Implementação de uma biblioteca gráąca multiplataforma utilizando OpenGL e GLFW

Desenvolvimento de uma ferramenta para organização e gerenciamento de atividades de docentes

Professor: Laboratório de Programação com Games. Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19

Biblioteca de auxílio ao uso de elementos gráficos

Curso Online de E-commerce. Plano de Estudo

VISEDU-CG: Aplicação Didática para Visualizar Material Educacional, Módulo de Computação Gráfica

Ferramenta para criaçã. ção o e execuçã

DESENVOLVIMENTO DO JOGO DE DAMAS UTILIZANDO A BIBLIOTECA ALLEGRO

6 Arquitetura do Sistema

Curso online de. Formação em Front-End. Plano de Estudo

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Universidade Federal do Ceará Campus de Quixadá OFERTA DE DISCIPLINAS Ciência da Computação

ANHANGUERA ESTRUTURA DE DADOS AULA 02 O QUE É ESTRUTURA DE DADOS? Prof. Thomás da Costa

Curso online de Aplicações. Híbridas. Plano de Estudo

Protótipo de Software de Reconhecimento de Voz Para Navegação em Jogos, Utilizando Rede Neural Artificial

Simulação de Dispositivos Dinamicos para Jogos

FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO SEGUNDO PERÍODO

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

Curso online de Fundamentos em Android. Plano de Estudo

Introdução a Programação

Protótipo tipo de um ambiente virtual distribuído

FRAMEWORK PARA GERENCIAMENTO E DISPONIBILIZAÇÃO DE INFORMAÇÕES MULTIMÍDIA GEOLOCALIZADAS NA PLATAFORMA ANDROID

Daniel Pereira prof. Dalton S. dos Reis

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 24/09/2010. Carlos Eugênio Torres Engenheiro de Informática

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE

Desenvolvedor Android: Avançado. Plano de Estudo

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

iar 2.0: API o,mizada para aplicações de entretenimento em realidade aumentada na plataforma ios

Desenvolvimento Dirigido por Modelos: Ferramentas

OpenGL. Licenciatura em Computação Computação Gráfica - Aula 2 (atualizada em 03 ago. 2017)

Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...

Sistema colaborativo para monitoramento de focos de Aedes aegypti

TÍTULO: APLICAÇÃO DO SOFTWARE MODELLUS PARA SIMULAÇÃO E MODELAGEM COMPUTACIONAL EM CURSOS DE ENGENHARIA CATEGORIA: EM ANDAMENTO

Salesforce vs NetSuite

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

Encapsulando patches Pure Data com a libpd

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

VisEdu-MAT: Visualizador de material educacional, módulo de matemática

A c c e s s B á s i c o

Laboratório de Programação 1 Algoritmos e a Lógica de Programação

Implementação de um Ambiente para Modelagem de Objetos 3D com uso de Sweeping. Ednilson José ALUNO. Prof. Dalton Solano dos Reis ORIENTADOR

Desenvolvimento de um aplicativo na plataforma Android para realização de fichamento bibliográfico em dispositivos móveis: resultados iniciais

FERRAMENTA PARA CRIAR E VISUALIZAR REGRAS UTILIZADAS NA FORMAÇÃO DA POLÍTICA DE PREÇO

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

Sistemas Operacionais

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Apresentação. Sistemas Operacionais. Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D.

Técnicas de Reutilização. Reutilização em Programação Orientada a Objetos. Considere três classes... Reuso de Classes.

As principais contribuições do presente trabalho são as seguintes:

Grade Curricular do Curso de Graduação em Engenharia de Computação

Aula 09 Áudio (Softwares)

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

6 Conclusão Contribuições da Dissertação

FX Canvas2D: uma API de jogos bidimensionais para auxiliar na aprendizagem de programação

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books (

Universidade Federal de Uberlândia Faculdade de Computação. FACOM49010(V) Algoritmos e Programação de Computadores Engenharia Mecatrônica

Computação Gráfica. Prof. André Yoshimi Kusumoto

Mineração de Dados em Biologia Molecular

Gerenciamento de Projetos com o Redmine

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1

CIV2802 Sistemas Gráficos para Engenharia

Plano de Aula: Aula 1 Ano letivo: 2013/2014. Curso: Técnico de Gestão e Programação de Sistemas Informáticos

Treinamento em Alfresco Open Source Enterprise Content Management ( ECM ) - GED Gestão Eletrônica de Documentos

ESTÁGIO CURRICULAR I e II

Cartografia com o Esri Production Mapping

Aplicativo para TV Digital Interativa de acesso ao Twitter

Ubiratam Carvalho de Paula Junior Rafaelli de Carvalho Coutinho

MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO. 1º Período

IrrRPG Builder Uma Ferramenta Livre Para Desenvolvimento de Jogos Eletrônicos de RPG

ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO DE APLICATIVOS MÓVEIS MULTIPLATAFORMA

Segundo Trabalho Prático Turma A

PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas

OpenGL. Licenciatura em Computação Computação Gráfica - Aula 2 (atualizada em 15/08/2018)

SISTEMA DE GERENCIAMENTO DO CENTRO DE PRÁTICAS CLÍNICAS E CIRÚRGICAS DO IFC CAMPUS ARAQUARI

Uma biblioteca de Realidade Aumentada para a plataforma ios. Acadêmico Paulo Cesar Meurer Orientador Dalton Solano dos Reis

MINI-CURSO PROGRAMAÇÃO COM JAVA - 2

Disciplina de. Programação de Robôs Móveis SSC-0712

Estudo do Ambiente de Programação Arduino Software (IDE) com Intel Galileo Gen2. Apostila de acompanhamento para o aluno.

O SISTEMA OPERACIONAL LINUX E SUAS APLICAÇÕES NAS ENGENHARIAS

AMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO. Rodrigo Ferreira da Silva

Sistemas Distribuídos e Paralelos

Trabalho Prático. Primeira Parte do Trabalho (Parte I): peso 40%

Powered by. Tiago Bockholt

Primeira Parte do Trabalho Prático (Parte I) Valor: 30% Descrição do arquivo de dados

Introdução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti

Programação para Dispositivos Móveis

Introdução à Informática. Professor: Francisco Ary

Europass-Curriculum Vitae

Sistemas de Informação

DESENVOLVIMENTO DE UM SOFTWARE DE GERAÇÃO E VISUALIZAÇÃO DE NANOESTRUTURAS

Transcrição:

Universidade Federal de Uberlândia - UFU Faculdade de Computação Bacharelado em Sistemas de Informação Implementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW. William Johnson dos Santos Okano Orientador: Prof. Dr. André Ricardo Backes

1. Introdução 2. Funcionalidades Sumário 3. Trabalhos Correlatos 4. Desenvolvimento 5. Exemplo e Demonstração 6. Considerações Finais 7. Conclusão 2

Introdução - I Descrição do problema Baixo índice de assimilação de estudantes em disciplinas de programação; Poucas ferramentas para a linguagem de programação C; Ferramentas existentes focam em códigos e usuários avançados. 3

Introdução - II Objetivos Objetivo Geral Implementar uma biblioteca gráfica para auxílio no ensino de programação de forma visual. Objetivos Específicos Biblioteca que seja de fácil instalação; Biblioteca com API simples e objetiva; Criação de manual de utilização e exemplos. 4

Funcionalidades - I Funções de gerenciamento: Inicialização da biblioteca, limpar tela, desfazer último desenho e refazer último desenho. Funções de configuração Definir cor de preenchimento, definir tamanho de um ponto, definir largura de uma linha, etc Funções de desenho Triângulos, quadrados, linhas, pontos, etc. 5

Figura 5 - Exemplo: Todas as formas implementadas 6

Trabalhos Correlatos - I Bibliotecas gráficas: Borland Graphics Interface (BGI): DOS / Windows Pouca documentação Sem atualizações GLUT: Proprietária Defasada Última atualização em 1998 Aplicações pequeno e médio porte 7

Trabalhos Correlatos - II Bibliotecas gráficas: FreeGLUT: Versão código-aberto da GLUT 100% compatível com GLUT Funcionalidades próprias Defasada Última atualização em 2015 SDL Multiplataforma Código-aberto Suporte a várias linguagens de programação (C, Java, C#, Python, dentre outras) 8

Trabalhos Correlatos - III Ferramentas de técnica de visualização Scratch: Linguagem de programação visual Programação através de conexões de blocos Ruby Warrior: Programação escrita Efeito do código visual Utiliza linguagem de programação Ruby Algoritmo de Raft Interativo: Website Simulação Focado em um único problema 9

Desenvolvimento - I Tecnologias utilizadas Linguagem de Programação C Linguagem bastante utilizada em cursos introdutórios; Versátil; Performática; OpenGL Suporte a várias linguagens Simplicidade e versatilidade Vasta documentação e cursos Multiplataforma 10

Figura 1 - Linguagens de programação utilizadas primariamente no ensino de introdução à programação. 11

Desenvolvimento - II Tecnologias utilizadas GLFW (Graphics Library Framework) Código-aberto; Suporte a OpenGL, OpenGL ES e Vulkan; Multiplataforma; Criação de Janelas e Contextos padronizados em Windows e Linux; TinyCThread Código-aberto; Simples e leve; Multiplataforma; Controle de concorrência; 12

Desenvolvimento - III A biblioteca gráfica Simplificar API OpenGL Abstrair o gerenciamento de recursos Janelas e Contextos OpenGL Thread de renderização Controle do buffer de renderização Ponteiros Fila Pilha 13

Figura 2 - Arquitetura proposta para a biblioteca 14

Exemplo I - Inicialização da biblioteca 15

Figura 6 - Exemplo: Relógio analógico 16

https://www.youtube.com/watch?v=nafxvew1ah4 Vídeo 1: Demonstração do relógio com código-fonte 17

Considerações Finais - I Dificuldades encontradas Compilar multiplataforma; make e CMake Criação de janelas sem bibliotecas de terceiros win32 e X11 Threads multiplataforma mingw64 18

Considerações Finais - II Trabalhos Futuros Uso da biblioteca em sala de aula; Refazer a pesquisa de linguagem com outra fonte de dados: Pesquisar faculdades brasileiras Novas funcionalidades Arcos, elipses Suporte a texto Recursos externos Imagens Audio 19

Conclusão Oportunidade de aplicar conhecimento aprendido em disciplinas do curso Pilha e Fila Engenharia de Software Sistemas Operacionais Oportunidade de aprender novas tecnologias, como OpenGL, revisar alguns conceitos matemáticos; Espera-se que com a utilização da biblioteca, os alunos sejam capazes de assimilar melhor os códigos vistos em sala de aula. 20

Obrigado! 21