angelicous Posted February 24, 2016 at 03:29 PM Report #593811 Posted February 24, 2016 at 03:29 PM Boas malta, preciso de uma sugestão da vossa parte. Tenho um trabalho da universidade que se está a aproximar a entrega, e as nossas aulas práticas estão um bocado apertadas na matéria, e não queria deixar tudo para fazer em cima da hora uma vez que estamos a dar coisas relativamente básicas. O nosso trabalho é relativamente simples nesta primeira fase. Temos que fazer um gerador de figuras, e um leitor das figuras geradas. O exemplo dado no enunciado para o gerador é algo como executar o comando gerador esfera 1 10 10 output.3d em que "gerador" é o nome do programa gerador de figuras, "esfera" é a figura que queremos gerar, "1 10 10" é o raio, fatias e filas que queremos na esfera, e o "output.3d" é um ficheiro em que queremos guardar os dados da figura para depois ser lida. É dito pelo enunciado, que o ficheiro de output deve ser definido por nós, e como sugestão diz que devemos usar por exemplo o número de vértices da figura, para facilitar o processo de leitura. O programa leitura, simplesmente é escolher o ficheiro output que queremos, e desenhar a cena. A minha dúvida é face ao programa gerador. Eu para desenhar uma esfera, estava simplesmente a pensar utilizar a função para o exemplo em cima: glutWireSphere(1,10,10); E isto foi o que demos para desenhar uma figura deste género. Mas eu não precisaria de saber o número de vertices para este caso, o que me leva a pensar que o uso desta função para desenhar a cena em si, não seria muito correcto. Neste momento(esta semana) só ainda estamos a dar desenho de triângulos simples, com rotações e translações, e este trabalho já é para entregar para a semana. Calculo que para a semana já aprendamos a fazer isto, mas eu queria adiantar trabalho. Como é que eu poderia por exemplo guardar todos os triângulos gerados na cena, para os poder guardar num ficheiro e posteriormente fazer o display?
HappyHippyHippo Posted February 24, 2016 at 03:57 PM Report #593812 Posted February 24, 2016 at 03:57 PM tu não guardas triângulos, mas sim a informação necessária para "reconstruir" os triângulos tens de guardar duas listas: - lista de vertices - lista de arestas do triangulo um exemplo simples seria # comentario # listar vertices # # <tipo de dados>:<x>,<y>,<z> # # exemplo para um vertice na posicao 2, 4, 6 # v:2,4,6 v:-1,0,0 v:0,-1,0 v:0,1,0 v:1,0,0 # lista de arestas # # <tipo de dados>:<indice_vertice_1>,<indice_vertice_2>,<indice_vertice_3> # # nota : nao esquecer que em OpenGL, as arestas são descrita no sentido contrário dos ponteiros do relógio t:0,1,2 t:2,1,3 este tipo de ficheiros são fáceis de ler e recontruir as listas em memória para depois serem usadas na criação da imagem final IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
angelicous Posted February 24, 2016 at 04:06 PM Author Report #593813 Posted February 24, 2016 at 04:06 PM O formato não seria o meu problema, mas já ajuda a perceber que não são só os vertices a ser guardados. Mas a minha dúvida é mais como é que eu "saco" essa informação da cena em si. Porque eu desenhar o circulo com a função consigo sem problema, o meu problema é saber as coordenadas de tudo uma vez que estão desenhados. Existe alguma função que eu possa começar a explorar?
HappyHippyHippo Posted February 24, 2016 at 04:16 PM Report #593815 Posted February 24, 2016 at 04:16 PM ai está o teu problema o trabalho da aplicação gerador não é desenhar mas sim determinar a posição de todos os vértices e arestas do objeto a ser desenhado, e no final escrever o ficheiro. depois disso, a segunda aplicação terá de ler o ficheiro e apresentar a lista de triângulos de forma completamente transparente, isto é, sem fazer a mínima ideia do que está a desenhar. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
angelicous Posted February 24, 2016 at 04:22 PM Author Report #593816 Posted February 24, 2016 at 04:22 PM Sim a segunda já tinha percebido. Ok, penso que já percebi a ideia. Basicamente quer queira quer não, vou ter que desenhar círculos à mão(triângulo a triângulo), e sempre que determino a posição de um triângulo, guardo as referências para guardar em ficheiro. É isto certo?
HappyHippyHippo Posted February 24, 2016 at 04:46 PM Report #593817 Posted February 24, 2016 at 04:46 PM sim 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now