View Full Version : opengl


Tyran
14-12-2007, 21:35
Boas, andei aqui a brincar com opengl (uso o devc++) mas os programas resultantes puxam muito, andam pelos 50% de processador lol, é normal? :S
cumpzz && thanks

Tyran
16-12-2007, 13:58
*bump*

mj2p
16-12-2007, 16:22
*bump*

Easy rapaz, não desperes tão rápido. Nem sempre os posts produzem tanta discussão.

Boas, andei aqui a brincar com opengl (uso o devc++) mas os programas resultantes puxam muito, andam pelos 50% de processador lol, é normal? :S
cumpzz && thanks

Para responder à tua pergunta: bem, já se sabe que tudo o que mexa com animação gráfica requer sempre muito das máquinas. Por isso, é que devem ser manuseadas com cuidado.

Desde já digo que nunca usei Opengl, mas acho que, se estás a fazer coisas de pouca evergadura, não deverias estar a ter esses resultados.

Vê se fizes-te alguma coisa mal, algo que se possa corrigir.

Vá, cumps

doginthefog
16-12-2007, 18:22
Boas, andei aqui a brincar com opengl (uso o devc++) mas os programas resultantes puxam muito, andam pelos 50% de processador lol, é normal? :S
cumpzz && thanks

Sim, considerando que estás sempre a mandar cenas para o ecrã de frames em frames isso é normal, não?

Tyran
16-12-2007, 21:36
lol, foi só um bump :D :P
Epah é uma coisa simples, que apanhei na net com uns menus e umas figuras, nem a 3D são, depois só adicionei uns menus, vou ver isso sem as minhas alterações então... É porque se isto dá os 50% então....
thanks :)

Armadillo
17-12-2007, 09:29
questao simples: e que grafica tens no pc onde tas a programar opengl?

greatbunzinni
17-12-2007, 11:38
Acho que o que é relevante é o código em si. Se calhar não tem lá código para balançar o número de cenas por segundo, que é o habitual em tutoriais de OpenGL.

Armadillo
17-12-2007, 11:43
Provavelmente.
Mas imagina que o Tyran tem uma grafica onboard, quem é que achas que vai fazer o processamento?

Tyran
17-12-2007, 14:20
Boas, é uma ati mobility radeon X1400, podem ver o meu sistema clicando em "My System"

Mas já descobri, foi aqui uma opção extra que meti que tava a disparar o processador, não percebi ainda a razão disso acontecer mas estou para ver... :)

Já agora alguem conhece uns tutus? uns que tenho metem uma tal de stdafx.h, e já agora desculpem a pergunta possivelmente noob, mas windows.h é quer dizer que só dá para windows isto? lool :P

Obrigado ;)

EDIT: o erro era um glutPostRedisplay(); a mais lol, pensei que também tinha de estar depois de glpopmatrix() :)

Armadillo
17-12-2007, 14:24
O windows.h (http://en.wikipedia.org/wiki/Windows.h)deve ser incluido em aplicações para windows.
Tuts aqui (http://www.gametutorials.com/gtstore/c-1-opengl-tutorials.aspx) e aqui (http://br.youtube.com/results?search_query=opengl&search=Pesquisar).

Tyran
17-12-2007, 14:29
lol, porque não me lembrei eu de ir à wikipédia :P obrigado ;)

Já agora não querendo abusar lol, quando mando isto aos meus amigos eles dizem que não corre que dá um erro que falta um glut32.dll que por acaso tive de copiar para uma pasta em system32 ou por aí, quer dizer que sem isso eles não podem correr as aplicações também?? então teria de fazer uns instalador para lhes passar isso lool

thanks :)

Armadillo
17-12-2007, 14:44
o ficheiro glut32.dll deve estar em /Windows/System e é um ficheiro referente ao opengl. se eles nao tiverem as livrarias do opengl, é obvio que nao vao poder correr. isso seria como correr um jogo que precisa do directx sem o ter instalado.

Tyran
17-12-2007, 14:50
Pois, já percebi
Epah aquele site está mesmo fixe lol

greatbunzinni
17-12-2007, 15:50
Já agora alguem conhece uns tutus?
Procura pelo NeHe. É o ponto de partida de toda a gente.


uns que tenho metem uma tal de stdafx.h, e já agora desculpem a pergunta possivelmente noob, mas windows.h é quer dizer que só dá para windows isto? lool :P

Se calhar primeiro devias aprender o básico da plataforma para onde queres desenvolver antes de te pores a aprender OpenGL.

Uma coisa te garanto: se à partida optaste por opengl em vez de direct3d então estás bem encaminhado.

Tyran
17-12-2007, 15:55
Pois, tens toda a razão, foi optar por ver primeiro as bases, mas assim já fiquei com umas luzes de como isto funciona e pelo menos do que vi nem parece muito complicado, também não foi nada de complexo lol, só umas primitivas com menus e tal.. :)

cumpzz

Armadillo
17-12-2007, 16:00
greatbunzinni, eu que nao conheço bem opengl e directx, porque é melhor começar com opengl em vez directx? Existe alguma vantagem na aprendizagem em começar pelo opengl?

Tyran
17-12-2007, 16:42
Uma das razões (pelo menos a que me levou) é por direct3d ser apenas suportado em windows. http://www.gamedev.net/reference/articles/article1775.asp
Tens aí muita coisa lol
cumpzz

Armadillo
17-12-2007, 16:51
Uma das razões é por directx ser apenas suportado em windows. E parece que directx é mais difícil.
cumpzz

Só por ser uma tecnologia proprietária que apenas fuciona em sistemas Microsoft (WIndows e XBox, acho eu), não me parece que seja por ai que nao lhe pegue porque a sdk é gratuita.
Em relação ao ser mais facil que directx, nao conheço suficientemente as duas plataformas para tecer comentarios mais profundos.

Tyran
17-12-2007, 17:09
lol, já não viste o meu edit com o link :P
Aqui http://www.techzonept.com/showpost.php?p=2320696&postcount=17 :)

Armadillo
17-12-2007, 17:11
meu, reparaste na data do artigo? 2/24/2002. Ta um bocadinho desactualizado...
Mas nao vou entrar na guerra Linux/M$

Tyran
17-12-2007, 17:27
Nem tinha reparado não :( mas tem lá as bases da questão que ainda se devem manter se calhar...
E também não é linux/ms, é free/close lol o cs no meu pelo menos parece que dá melhor em opengl do que em direct3d
cumpzz

Armadillo
17-12-2007, 17:29
isso é relativo, depende da grafica, configuração da mesma, etc...

r3pek
17-12-2007, 18:08
o ficheiro glut32.dll deve estar em /Windows/System e é um ficheiro referente ao opengl. se eles nao tiverem as livrarias bibliotecas do opengl, é obvio que nao vao poder correr. isso seria como correr um jogo que precisa do directx sem o ter instalado.
desculpa la mas nao resisti.

mj2p
17-12-2007, 18:13
desculpa la mas nao resisti.

Ya, nem tinha reparado nisso...:p

É um erro que acontece muitas vezes por se usar constantemente o termo inglês "libraries", que tanto pode ser livrarias como bibliotecas. Mas como é mais parecido com livrarias...

Vá, cumps

Tyran
17-12-2007, 20:38
lol, pois é, também me engano muito vezes nisso :P

Já agora se eu quiser um tuturial mais direccionado a janelas, tipo as dos setup's e assim onde posso arranjar isso?

cumpzz

Armadillo
19-12-2007, 09:08
of-topic:
Ja sei, para sistemas proprietarios devia-se usar livrarias (afinal pagas os livros quando os compras) e bibliotecas para opensource (vais a biblioteca e usas os livrinhos como quiseres e nao pagas nada).
:p

greatbunzinni
22-12-2007, 11:18
greatbunzinni, eu que nao conheço bem opengl e directx, porque é melhor começar com opengl em vez directx? Existe alguma vantagem na aprendizagem em começar pelo opengl?

OpenGL é a norma. Trata-se duma especificação de interfaces de computação gráfica que é definida por um consórcio que representa toda a indústria de computação gráfica enquanto que o direct3D só sai e só existe da cabeça da microsoft. OpenGL é multiplataforma, oferece interfaces a várias linguagens e é especialmente talhado para poderes fazer tudo o que quiseres, enquanto que direct3d, como parte duma API só e exclusivamente para criar jogos para windows, só foi feito a pensar em jogos. OpenGL é usado em aplicações militares (interfaces gráficos de aviões, helicópteros, simuladores, etc...), em programas de realidade virtual, em programas de CAD, jogos, telemoveis, gestores de janelas, etc... Direct3D é apenas usado em joguitos.

A única vantagem que o Direct3D teve em relação ao OpenGL era a inclusão mais rápida de truques que algumas companhias de placas gráficas ofereciam, se bem que para isso tiveram de partir várias vezes os interfaces de programação ao ponto da única coisa que ficou Direct3D foi o nome (apenas a marca) da API. No entanto isso mudou com o OpenGL 2. Mesmo assim, o OpenGL manteve-se perfeitamente compativel com os lançamentos anteriores desde que saiu até à versão 3, o que implica uns 15 anos de estabilidade perfeita. A versão 3 que sai agora será a primeira a trazer interfaces novos. No entanto, continua a oferecer compatibilidade com as versões anteriores, coisa que o Direct3D da Microsoft nunca fez nem quer fazer. Por exemplo, a Microsoft usa o DirectX como arma de agressão para forçar os utilizadores a gastar mais dinheiro em produtos da Microsoft.

Resumindo: OpenGL é sem dúvida superior por correr em tudo que possa correr gráficos, por ser uma especificação técnica da indústria, por ser perfeitamente estável, por ser maduro e por haver uma infindade de recursos já disponíveis à tua disposição, quer em bibliotecas de programação como em material de aprendizagem. Direct3D é inferior pois só corre onde e quando a Microsoft quer, só serve para apenas um uso bem específico, parte-se todo mal há um lançamento e é instável.

greatbunzinni
22-12-2007, 11:35
Outros detalhes que são interessantes na comparação dos dois. No mundo dos jogos, todas as máquinas de jogos adoptaram o OpenGL para fazer os gráficos. Bem todas excepto a xbox e os computadores com Windows. Dá que pensar. Outra coisa curiosa é que a microsoft faz questão de "capar" o OpenGL. Ora recusa-se a implementar todas as capacidades do interface, ora recusa-se a implementar as versões actuais da especificação, ora implementa de uma forma tosca, como forçar a tradução dos comandos de OpenGL para comandos de Direct3D em vez de executá-los directamente.

Como se não bastasse, a Microsoft recusa-se a oferecer directamente aceleração por hardware aos programas de OpenGL, forçando assim os utilizadores a instalar os drivers das placas de forma a poder ter finalmente o acesso ao hardware que pagaram para usar.