Computação Gráfica com OpenGL - 03 - Contexto OpenGL e Sistemas de Janelas

  Рет қаралды 9,134

Professor Rafael Ivo

Professor Rafael Ivo

Күн бұрын

Пікірлер: 53
@AlessandroHolanda
@AlessandroHolanda 3 жыл бұрын
Muito obrigado prof, nestes 3 vídeos consegui entender muito mais do que lendo os capítulos introdutórios dos livros clássicos sobre opengl. Sua didática é excelente, parabéns!!!!
@natalinomiranda
@natalinomiranda 3 жыл бұрын
Nãoooo pare com as aulas de OpenGL, pfv! Não há nada de tamanha qualidade em português!!! Qualidade excelente!
@ProfessorRafaelIvo
@ProfessorRafaelIvo 3 жыл бұрын
Vou continuar sim. Tive que dar uma pausa por conta do trabalho na universidade, mas em breve tem vídeo novo.
@jogandocombololo8862
@jogandocombololo8862 3 жыл бұрын
Nossa é realmente o melhor conteúdo de OpenGL em português!!! Não deixe de postar os vídeos pois, com o tempo se tornará a referência de OpenGL em língua portuguesa no KZbin! Estou ansioso para a próxima aula!
@gamebielo
@gamebielo 3 жыл бұрын
Muito bom Rafael, continue com o conteúdo, Tenho certeza que assim como eu, você tem ajudado muita gente!
@ProfessorRafaelIvo
@ProfessorRafaelIvo 3 жыл бұрын
Muito obrigado
@paulosspacheco
@paulosspacheco 2 жыл бұрын
Muito boa a aula.
@WillBattery
@WillBattery 2 жыл бұрын
Parabéns! Bom material! Um amigo meu me indicou essa playlist do OpenGL! Grato pela sua explicação
@3dferr
@3dferr 3 жыл бұрын
Nossa tô aprendendo muito CG e OpenGL com seus vídeos! Na expectativa para aula 4! Excelente Trabalho, Obrigado!
@victor2367
@victor2367 2 жыл бұрын
Muito obrigado pelas aulas professor
@paulojarbas7879
@paulojarbas7879 2 жыл бұрын
excelente conteúdo, parabéns!!!
@mauriciobarreto1553
@mauriciobarreto1553 Жыл бұрын
Bah. Que aula.
@CalangoBit
@CalangoBit 3 жыл бұрын
Rapaz! O conteúdo tá excepcional! Tudo muito bem explicado! Obrigado por compartilhar seu conhecimento!
@ProfessorRafaelIvo
@ProfessorRafaelIvo 3 жыл бұрын
Obrigado Dirceu.
@Tiagofr3
@Tiagofr3 3 жыл бұрын
Muito bom, continue fazendo por favor
@l3dpstudios-original
@l3dpstudios-original 3 жыл бұрын
Muito bom conteúdo professor, valeu!
@ProfessorRafaelIvo
@ProfessorRafaelIvo 3 жыл бұрын
Eu que agradeço
@cleiflym
@cleiflym 3 жыл бұрын
A série continua :D
@paguiarieth994
@paguiarieth994 3 жыл бұрын
esperando a proxima aula
@eliaquimjorras257
@eliaquimjorras257 3 жыл бұрын
Professor tava tudo indo bem até 21:00 mas ao executar deu esse erro: undefined reference to `__imp__ZN13QOpenGLWidgetC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE' ele num executa nem a pau, se eu tirar esse OpenGL Widget e executar da tudo certo, mas com ele da tudo errado
@yagotaveiros3247
@yagotaveiros3247 3 жыл бұрын
Tbm tive o mesmo problema
@igorsantos1008
@igorsantos1008 3 жыл бұрын
Top...]
@ismaelsousa3737
@ismaelsousa3737 3 жыл бұрын
Massa demais, sempre quis saber como usava essa Qt! Daniel mostrou essa freeglut
@GabrielSouza-of7kt
@GabrielSouza-of7kt 3 жыл бұрын
Videos bons da porra!!!!
@eduardof.8117
@eduardof.8117 3 жыл бұрын
Em relação a Qt, o Delphi tem capacidade full de interfacear com opengl, pode usar todo poder do Delphi, da interface gráfica que ele disponibiliza, e interagir com o processamento OpenGL. Esse processamento OpenGL é apresentado em um objeto TPanel.
@ProfessorRafaelIvo
@ProfessorRafaelIvo 3 жыл бұрын
Não sabia que o Delphi tinha suporte a OpenGL. Irei pesquisar depois.
@PablinCreeperDevelopedOFC
@PablinCreeperDevelopedOFC 2 жыл бұрын
Ei oque e OPENGL porque quando eu instalo no meu çelula e j4 prime ai quando eu baixei poppy playtime chapter 1 no meu android j4 prime ele apareçe OPENGL QUE EU NAO CONSIGO POR FAVOR FALA
@jllucas.santos
@jllucas.santos 2 жыл бұрын
Só acrescentando algumas coisas para "defender" o FLTK (também falava "FTLK"😅): - A sigla FLTK é "Fast Light ToolKit" que se traduz como "Kit de ferramentas rápido leve", já mostra seu objetivo(ser rápida e leve); - É um Software Livre distribuído sob a licença LGPL (GNU Library General Public License) [já é uma vantagem a QT, já que não precisa deixar o código opensource se for algo comercial]; - GLUT (OpenGL Utility Toolkit) é uma biblioteca de funcionalidades para OpenGL cujo principal objetivo é a abstração do sistema operacional fazendo com que os aplicativos sejam multiplataforma. - Os dois objetivos da API [GLUT] são: a criação de aplicativos totalmente independente do sistema operacional e fazer com que o aprendizado de OpenGL torne-se mais simples. Fontes: Wikipédia (quem quiser pesquise mais😆). (Claro que só falei das vantagens, seria bom um vídeo comparando 😁)
@ProfessorRafaelIvo
@ProfessorRafaelIvo 2 жыл бұрын
Muito obrigado pelas adições ao conteúdo. Muito bom 😁
@eduardof.8117
@eduardof.8117 3 жыл бұрын
Se for implementar uma aplicação comercial com OpenGL, fica difícil investir na Qt. Qual seria a opção?
@ProfessorRafaelIvo
@ProfessorRafaelIvo 3 жыл бұрын
Eu não verifiquei a questão das licenças de software para cada API. Na verdade, existem várias por aí, eu citei apenas algumas. Talvez no futuro, quando eu fizer algum vídeo sobre licença de software, eu pesquise e fale sobre isso.
@opsJson_
@opsJson_ 3 жыл бұрын
professor, não entendi direito como baixa bibliotecas. Caso eu queira baixar o SDL, por exempo, o que eu faço?? Já entrei no site, baixei o código fonte, encontrei os arquivos com final .h, arrastei manualmente pra mesma pasta onde fica os arquivos stdio.h, stdlib.h, etc, e mesmo assim não consigo usar. Quando tento compilar sempre dá algum erro. O que eu tenho que fazer? Tô preso nessa parte básica =/
@ProfessorRafaelIvo
@ProfessorRafaelIvo 3 жыл бұрын
É um pouco difícil dizer o que fazer, porque depende também do sistema operacional que você tá usando. Mas pelo seu comentário, não basta colocar o arquivo (.h). É necessário também os arquivos objeto (pré-compilados) das bibliotecas. Dá uma olhada se tem arquivo (.dll). Eles também são necessários pra poder usar uma biblioteca, além dos (.h)
@nataoliveirasousa5492
@nataoliveirasousa5492 3 жыл бұрын
professor fiz tudo direitinho porém, logo que a janela é executada, ela pega os elementos do ambiente de fundo e desenha o triangulo por cima. Além disso, quando eu mexo a janela, o desenhe "se mexe" junto, borrando o frame.
@ProfessorRafaelIvo
@ProfessorRafaelIvo 3 жыл бұрын
Oi Natã. Pela sua descrição o problema parece ser de frame buffer "sujo". O frame buffer é a região de memória onde as cores vão ser armazenadas para cada pixel e então exibidas na tela, um array. Sempre antes de desenhar qualquer coisa, deve-se chamar glClear(GL_COLOR_BUFFER_BIT). Essa instrução irá atribuir uma cor fixa para todos os pixels do framebuffer previamente (como se estivesse limpando tudo que tivesse desenhado dentro da janela antes). Então se você mover a janela, a imagem anterior é apagada e desenhada uma nova por cima. Antes dessa instrução, você deve dizer a cor que deseja limpar o frame buffer. A instrução pra isso é glClearColor(r,g,b,a), onde você diz a cor nos componentes RGB que variam de 0.0 a 1.0. O 'a' no final do glClearColor significa transparência. Colocar 1 no seu valor torna a cor opaca, enquanto 0 é totalmente transparente. Alguns sistemas não suportam frame buffers transparentes, então mesmo que mude esse último valor, não haverá muitas mudanças (sugiro deixar 1 mesmo). Testa aí e vê se era isso mesmo.
@nataoliveirasousa5492
@nataoliveirasousa5492 3 жыл бұрын
@@ProfessorRafaelIvo Obrigado professor, você tem me ajudado muito em openGL
@nataoliveirasousa5492
@nataoliveirasousa5492 3 жыл бұрын
@@ProfessorRafaelIvo O problema estava no meu argumento 4 da função "glClearColor", onde, anteriormente, tinha setado o valor 0, como precisamente você sugeriu. Obrigado novamente.
@aanshirra8445
@aanshirra8445 2 жыл бұрын
naop consigo importar o QOpenGLWidgets nem ferrando. 'QOpenGLWidgets' file not found
@ProfessorRafaelIvo
@ProfessorRafaelIvo 2 жыл бұрын
Também tive problemas com QT. Ao que parece, o vídeo ficou datado muito rápido. 😕. Por isso irei focar mais em teoria, técnicas e OpenGL nos próximos.
@aanshirra8445
@aanshirra8445 2 жыл бұрын
@@ProfessorRafaelIvo eu consegui instlar o openGl no linux e fiz rodar esses scripts desse cara aqui: kzbin.info/www/bejne/apPYe5aGrr2ln5Y&ab_channel=%C3%81lvaroNegreiros
@aanshirra8445
@aanshirra8445 2 жыл бұрын
achei uma solucao mais simples. fica tudo num arquivo só e edito com o Vs code.
@Rina_66
@Rina_66 2 жыл бұрын
Por que o legacy? Por que?
@ProfessorRafaelIvo
@ProfessorRafaelIvo 2 жыл бұрын
Hahaha, porque se eu fosse direto pro moderno, só no oitavo vídeo eu teria um triângulo desenhado na tela. 😅
@MrEfraimfc
@MrEfraimfc 3 жыл бұрын
Como eu poderia obter o conhecimento para fazer minha própria API? rs Um curso de ciência da computação, por exemplo, ensina esse tipo de coisa?
@ProfessorRafaelIvo
@ProfessorRafaelIvo 3 жыл бұрын
Fazer a própria API? Acho que não. Eu dou a disciplina de computação gráfica e ensino mais a como usar. Mas talvez o principal seja aprender a não depender de API. Muitas das técnicas vistas são algoritmos. E apesar de tecnologias novas influenciarem (ex: Shaders e GPUs programáveis gerou muitas pesquisas novas), ainda assim muitas técnicas independem da tecnologia. Por exemplo: ray tracing é uma técnica de 1977, por aí, e tá viva até hoje e tendo sua nova adaptação as tecnologias atuais.
@MrEfraimfc
@MrEfraimfc 3 жыл бұрын
@@ProfessorRafaelIvo Obrigado. Mas pra gente usar uma API, alguém teve que fazer. Certo? Minha dúvida continua: como se obtém o conhecimento pra fazer algo assim? Tem que ser um ET? Dificilmente te explicam isso num curso de programação C++, geralmente te entregam tudo pronto: "Coloca essa biblioteca aqui.", "Construindo Gráficos com OpenGL" etc. Eu gostaria de entender como as coisas funcionam por trás de tudo isso, mas não sei por onde começar. Pensei que uma faculdade de CC dava essa base.
@ProfessorRafaelIvo
@ProfessorRafaelIvo 3 жыл бұрын
Entendo agora sua dúvida. Pra construir uma API é necessário ter um conhecimento profundo de construção de drivers de dispositivos gráficos. Uma API é uma casca, uma interface para que você não precise tocar nos comandos de baixo nível dos drivers. No segundo vídeo dessa playlist eu digo que o grupo que mantém a OpenGL apenas especifica os nomes das funções e constantes e defini o que deve ser feito, mas não especifica os detalhes de como deve ser feito. Quem faz isso, são os construtores de placas, que implementam as funções da OpenGL com os comandos dos drivers de suas placas. Mas o que talvez eu não tenha dito no vídeo é que quem forma o comitê do grupo da OpenGL, em sua maioria, são pessoas do ramo de placas gráficas. Então eles criam instruções novas da OpenGL para suas funcionalidades novas de seus drivers. Então assim, se você deseja construir sua própria API, precisa conhecer aprofundadamente o driver de hardware gráfico e normalmente são propriedade privada fechada. Se você trabalhar pra uma dessas empresas, aí terá a oportunidade de construir uma nova (como é o caso da Vulkan agora) porque estará em contato com esse software de baixo nível. Quanto aos cursos de graduação, não conheço um que tenha uma disciplina específica pra isso. Mas eu entendo o porquê. É impossível cobrir todas as áreas e aplicações da computação de forma aprofundada. Eu costumo dizer pros meus alunos, que todas as disciplinas de uma graduação em computação são introduções: introdução a sistemas operacionais, a computação gráfica, a bancos de dados e etc. O principal papel da universidade nesse sentido então é te tornar um auto-didata. Porque provavelmente, estudar será o que você irá mais fazer quando for trabalhar numa empresa como essa. Desculpa o textão, mas espero ter esclarecido.
@MrEfraimfc
@MrEfraimfc 3 жыл бұрын
@@ProfessorRafaelIvo Hum... Entendi melhor. Obrigado de novo! (Não me incomodei com o textão kk)
@marcosv.5267
@marcosv.5267 3 жыл бұрын
Você disse que a Open GL é uma API, mas ela é uma API de que programa?
@ProfessorRafaelIvo
@ProfessorRafaelIvo 3 жыл бұрын
Pensa da seguinte forma: a NVidia tem suas placas de vídeo e elas possuem seus comandos internos, pra manipular vértices, cores, pixels, buffers e etc. Esses comandos são de baixo nível (você pode comparar com assembly). A NVidia então, Implementa a especificação da OpenGL, traduzindo cada instrução ela em um conjunto de instruções de seu driver interno. É essa a interface que se refere: a OpenGL esconde os detalhes de implementação dos drivers. Ela é uma interface pra os programas que nós construímos que usam algum dispositivo de gráfico 3d.
@marcosv.5267
@marcosv.5267 3 жыл бұрын
@@ProfessorRafaelIvo Acho que eu entendi, obrigado por responder :)
@karolinerosa8974
@karolinerosa8974 2 жыл бұрын
sera q eu aprendo direitinho mesmo sem saber nada de programação??
@ProfessorRafaelIvo
@ProfessorRafaelIvo 2 жыл бұрын
Karoline, os vídeos são sobre computação gráfica com OpenGL. A parte que envolve a biblioteca, sim, precisa de programação. Mas os vídeos a parte de computação gráfica envolve mais matemática e outros conceitos da natureza, que servem de inspiração pras técnicas que vão sendo mostradas.
Computação Gráfica com OpenGL - 04 - Dispositivos de Entrada
35:51
Professor Rafael Ivo
Рет қаралды 4,3 М.
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 29 МЛН
Computação Gráfica com OpenGL - 02 - As Versões da OpenGL
17:49
Professor Rafael Ivo
Рет қаралды 9 М.
Geometria para CG - 01 - Escalares, Pontos e Vetores
21:37
Professor Rafael Ivo
Рет қаралды 4,7 М.
Computação Gráfica com OpenGL - 01 - O que é OpenGL?
10:54
Professor Rafael Ivo
Рет қаралды 27 М.
OpenGL com Python - 06 - Introdução a GLSL
19:20
Professor Rafael Ivo
Рет қаралды 94
Malware development 101: Creating your first ever MALWARE
28:00
Leet Cipher
Рет қаралды 394 М.
Introdução ao OpenGL - 1 Setup
18:08
gamedevlog
Рет қаралды 19 М.