Este repositório contém os três projetos práticos da disciplina de Computação Gráfica desenvolvidos em C através da API gráfica OpenGL.
Além disso, cada pasta deste repositório corresponde a um projeto, sendo assim, em todos os diretórios encontram-se arquivos Readme.md
com mais informações sobre cada um deles.
Intitulamos Snowland o nosso Projeto Final da disciplina de Computação Gráfica cujo objetivo foi criar uma cena com objetos 3D por meio da API gráfica OpenGL na qual contém interações com o teclado e mouse, animações através de transformações geométricas, configurações de iluminação, remoção de superfícies ocultas, entre outros requisitos. Para tanto, foi utilizada a Linguagem de Programação C em conjunto à API gráfica OpenGL e para criar os objetos 3D foi utilizado o software Blender na versão 3.5 LTS.
-
Clone este repositório
git clone https://github.com/GustavoMartinx/Computer-Graphics.git
-
Acesse o diretório
montanha com obj e mtl
cd 'montanha com obj e mtl'
-
Instale as bibliotecas necessárias
sudo apt-get install libglew-dev libsoil-dev
-
Compile o código-fonte em
C
e executegcc -o app main.c glm.c glmdraw.c util/readtex.c util/shaderutil.c util/trackball.c -lGLU -lGL -lglut -lGLEW -lm -lSOIL && ./app
w
a
s
d
movimentam a câmera nos eixos X e Z;[espaço]
eq
movimentam a câmera no eixo Y;- com
CapsLock
ativo, as telas acima exercem as mesmas funções, porém com maior velocidade; - com o
mouseRight
é possível controlar a direção na qual a câmera aponta; c
move a câmera para uma posição pré configurada próxima à cabana;u
move a câmera para a posição padrão de visão.o
debug snapshot: fornece as coordenadas da posição da câmera e sua direção de visão.
p
abre e fecha a porta da cabana;b
cria uma bola de neve e a faz cair montanha a baixo;- quando tens
fe
, moves montanhas comi
j
k
l
; lu
ativa as configurações de iluminação;- neva continuamente através de um sistema de partículas.
Este trabalho consiste em dividir a janela do OpenGL quatro viewports, onde três projeções são ortogonais e uma (inferior direita) é perspectiva, cada uma com seu objeto 3D e sua câmera. O objetivo é manipular as câmeras de acordo com especificações fornecidas ajustando configurações como sua posição, para onde está apontando, planos near e far, vetor view up. Bem como os outros projetos deste repositório, este também foi desenvolvido por meio da API gráfica OpenGL, em C.
-
Instale o OpenGL. Para mais informações, clique aqui
-
Clone este repositório
git clone https://github.com/GustavoMartinx/computer-graphics.git
- Entre no diretório
trab2
cd trab2/
- Compile com as bibliotecas e execute
gcc main.c -lGL -lglut -lGLU -o main && ./main
Este trabalho tem como objetivo executar transformações geométricas em duas dimensões através da API gráfica OpenGL, em C.
-
Instale o OpenGL. Para mais informações, clique aqui
-
Clone este repositório
git clone https://github.com/GustavoMartinx/computer-graphics.git
- Entre no diretório
trab1
cd trab1/
- Compile com as bibliotecas e execute
gcc main.c -lGL -lglut -lGLU -o main && ./main
- Pressione a tecla
t
para entrar no modo de Translação; ArrowKeyUp
translada o objeto na direção do eixo Y positivo;ArrowKeyDown
translada o objeto na direção do eixo Y negativo;ArrowKeyRight
translada o objeto na direção do eixo X positivo;ArrowKeyLeft
translada o objeto na direção do eixo X negativo;
- Pressione a tecla
r
para entrar no modo de Rotação; ArrowKeyRight
rotaciona o objeto na direção horária;ArrowKeyLeft
rotaciona o objeto na direção anti-horária;
- Pressione a tecla
s
para entrar no modo de Escala; ArrowKeyUp
aumenta a escala do objeto;ArrowKeyDown
diminui a escala do objeto;
Inicialmente, este programa tratava-se de uma simulação simplificada do Sistema Solar (com o Sol, a Terra e a Lua) a fim de demonstrar como utilizar a função glutTimerFunc
que é executada com uma frequência determinada a fim de gerar uma animação; a órbita dos corpos celestes. O objetivo era exemplificar para os alunos como poderia ser realizada a animação do Trabalho 2. Com efeito, de forma leve e bem humorada, substituimos os corpos celestes por bules e assim surgiu o Sistema Solar de Bules,
também feito através da API gráfica OpenGL, em C.
-
Instale o OpenGL. Para mais informações, clique aqui
-
Clone este repositório
git clone https://github.com/GustavoMartinx/computer-graphics.git
- Entre no diretório
Teapot-Solar-System
cd Teapot-Solar-System/
- Compile com as bibliotecas e execute
gcc main.c -lGL -lglut -lGLU -o main && ./main
Guilherme Maturana |
Gustavo Martins |
Renan Sakashita |