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!!!!
@natalinomiranda3 жыл бұрын
Nãoooo pare com as aulas de OpenGL, pfv! Não há nada de tamanha qualidade em português!!! Qualidade excelente!
@ProfessorRafaelIvo3 жыл бұрын
Vou continuar sim. Tive que dar uma pausa por conta do trabalho na universidade, mas em breve tem vídeo novo.
@jogandocombololo88623 жыл бұрын
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!
@gamebielo3 жыл бұрын
Muito bom Rafael, continue com o conteúdo, Tenho certeza que assim como eu, você tem ajudado muita gente!
@ProfessorRafaelIvo3 жыл бұрын
Muito obrigado
@paulosspacheco2 жыл бұрын
Muito boa a aula.
@WillBattery2 жыл бұрын
Parabéns! Bom material! Um amigo meu me indicou essa playlist do OpenGL! Grato pela sua explicação
@3dferr3 жыл бұрын
Nossa tô aprendendo muito CG e OpenGL com seus vídeos! Na expectativa para aula 4! Excelente Trabalho, Obrigado!
@victor23672 жыл бұрын
Muito obrigado pelas aulas professor
@paulojarbas78792 жыл бұрын
excelente conteúdo, parabéns!!!
@mauriciobarreto1553 Жыл бұрын
Bah. Que aula.
@CalangoBit3 жыл бұрын
Rapaz! O conteúdo tá excepcional! Tudo muito bem explicado! Obrigado por compartilhar seu conhecimento!
@ProfessorRafaelIvo3 жыл бұрын
Obrigado Dirceu.
@Tiagofr33 жыл бұрын
Muito bom, continue fazendo por favor
@l3dpstudios-original3 жыл бұрын
Muito bom conteúdo professor, valeu!
@ProfessorRafaelIvo3 жыл бұрын
Eu que agradeço
@cleiflym3 жыл бұрын
A série continua :D
@paguiarieth9943 жыл бұрын
esperando a proxima aula
@eliaquimjorras2573 жыл бұрын
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
@yagotaveiros32473 жыл бұрын
Tbm tive o mesmo problema
@igorsantos10083 жыл бұрын
Top...]
@ismaelsousa37373 жыл бұрын
Massa demais, sempre quis saber como usava essa Qt! Daniel mostrou essa freeglut
@GabrielSouza-of7kt3 жыл бұрын
Videos bons da porra!!!!
@eduardof.81173 жыл бұрын
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.
@ProfessorRafaelIvo3 жыл бұрын
Não sabia que o Delphi tinha suporte a OpenGL. Irei pesquisar depois.
@PablinCreeperDevelopedOFC2 жыл бұрын
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.santos2 жыл бұрын
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 😁)
@ProfessorRafaelIvo2 жыл бұрын
Muito obrigado pelas adições ao conteúdo. Muito bom 😁
@eduardof.81173 жыл бұрын
Se for implementar uma aplicação comercial com OpenGL, fica difícil investir na Qt. Qual seria a opção?
@ProfessorRafaelIvo3 жыл бұрын
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_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 =/
@ProfessorRafaelIvo3 жыл бұрын
É 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)
@nataoliveirasousa54923 жыл бұрын
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.
@ProfessorRafaelIvo3 жыл бұрын
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.
@nataoliveirasousa54923 жыл бұрын
@@ProfessorRafaelIvo Obrigado professor, você tem me ajudado muito em openGL
@nataoliveirasousa54923 жыл бұрын
@@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.
@aanshirra84452 жыл бұрын
naop consigo importar o QOpenGLWidgets nem ferrando. 'QOpenGLWidgets' file not found
@ProfessorRafaelIvo2 жыл бұрын
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.
@aanshirra84452 жыл бұрын
@@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
@aanshirra84452 жыл бұрын
achei uma solucao mais simples. fica tudo num arquivo só e edito com o Vs code.
@Rina_662 жыл бұрын
Por que o legacy? Por que?
@ProfessorRafaelIvo2 жыл бұрын
Hahaha, porque se eu fosse direto pro moderno, só no oitavo vídeo eu teria um triângulo desenhado na tela. 😅
@MrEfraimfc3 жыл бұрын
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?
@ProfessorRafaelIvo3 жыл бұрын
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.
@MrEfraimfc3 жыл бұрын
@@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.
@ProfessorRafaelIvo3 жыл бұрын
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.
@MrEfraimfc3 жыл бұрын
@@ProfessorRafaelIvo Hum... Entendi melhor. Obrigado de novo! (Não me incomodei com o textão kk)
@marcosv.52673 жыл бұрын
Você disse que a Open GL é uma API, mas ela é uma API de que programa?
@ProfessorRafaelIvo3 жыл бұрын
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.52673 жыл бұрын
@@ProfessorRafaelIvo Acho que eu entendi, obrigado por responder :)
@karolinerosa89742 жыл бұрын
sera q eu aprendo direitinho mesmo sem saber nada de programação??
@ProfessorRafaelIvo2 жыл бұрын
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.