Se connecter / S'enregistrer
Votre question

OpenGL shaders sous ATI Radeon 9250

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
17 Novembre 2008 18:16:24

Bonjour,

Je suis sur un programme en C++ avec OpenGL (3D) et je voudrait inclure des shaders.

Pour ça pas de problèmes, seulement mon matériel ne semble pas supporter les extensions nécessaires...

J'ai une carte graphique ATI Radeon 9250 128 Mo en PCI.

J'ai pu faire tourner Half-Life 2 dessus en DirectX, donc elle supporte les shaders en DirectX.

Si quelqu'un à une solution ça m'éviterait de devoir passer en DirectX, OpenGL me conviens mieux.

Merci d'avance!

Autres pages sur : opengl shaders ati radeon 9250

a b L Programmation
17 Novembre 2008 19:04:43

pixels shaders ou vertex shaders ? et quelle version ?
19 Novembre 2008 18:47:52

Les 2, version 1.4 je crois

Sinon pour programmer avec DirectX sous code blocks je dois prendre le compilateur Visual ou pas nécésairement? Ou je dois télécharger un autre SDK?
Contenus similaires
a b L Programmation
19 Novembre 2008 20:31:39

Pour DirectX avec gcc, je n'ai jamais testé, mais je ne vois pas de raison qui empêcherait un tel dev.

Sinon, tu utilises quoi dans ton programme les pixels shaders ou les vertex shaders ? Ou montre au moins la fonction qui bloque.
20 Novembre 2008 20:34:35

Ben j'aimerais pouvoir utiliser les 2: vertex et pixels shaders mais je n'ai implémenté encore aucun code étant donné qu'aucun programme utilisant cette technologie sous OpenGL ne fonctionne (OpenGL shader designer me dit que mon hardware ne supporte pas les shaders...)

Tout ce que j'ai fait c'est un début avec glew qui me dit la même chose et en me procurent l'addresse des fonctions OpenGL utilisées par les shaders moi-même. A partir de ca, j'ai fait un programme qui affiche un polygone avec ou sans utiliser un petit shader sencé ne rien faire en gros.

Ce qui se passe c'est que mon polygone s'affiche normalement, mais quand j'active le shader, plus rien ne s'affiche.

Finalement j'ai abandoné OpenGL et je passe sou direct3d. J'ai du changer de compilateurs pour quelque details mais maintenant ca fonctionne. Je n'ai pas encore implémenté les shaders mais je sais qu'ils tournent, là les exemples du SDK qui fonctionnent!

Je sais je suis passé du libre à Microsoft c'est mal :( 

Enfin si quelqu'un s'y connais en d3d, j'ai quelque soucis pour redimensionner mon device, je pense qu'il faut utiliser LPDIRECT3DDEVICE9::Reset() mais cette fonction me renvoit une erreur.

Voilà je ne suis pas encore sorti de l'auberge :sarcastic: 
a b L Programmation
20 Novembre 2008 20:53:22

Pour la redimension, tes paramètres envoyés au reset ne sont peut-être pas bons (ou incomplets).
21 Novembre 2008 11:25:18

Non ca va j'ai trouvé, j'ai créé un Vertex buffer et je dois le détruire avant le reset.

Seulement après je dois le ré-initialiser, ca me semble lourd, y a pas moyen de faire autrement?
21 Novembre 2008 11:32:26

Aussi, tant que je suis en DirectX, c'est mieux de programmer la couche réseau avec DirectPlay ou les Sockets?
a b L Programmation
21 Novembre 2008 18:57:51

Oui autant utiliser DirectPlay et les autres composants puisque de toutes façons, tu perds la portabilité.
27 Novembre 2008 14:28:02

Ok ben je vais utiliser DirectPlay alors, c'est vrai que j'ai perdu la portabilité...

En DirectX, pour afficher des polygones ils faut créer un vertex buffer, rien de bien compliqué, je le crée à l'initialisation et je l'affiche à chaque frame. Mais si mes vertices changent, je dois recréer le vertex buffer à chaque changement? C'est pas trop lourd?

Par exemple, j'ai un terrain en height map et je veux qu'on puisse creuser cette map dans le jeu, les polygones se modifient...

Je recrée en tout cas les vertex buffers à chaque fois que la fenêtre est redimensionnée puisque je dois faire un reset du device. Là aussi, y a pas quelque chose de moins lourd?
a b L Programmation
27 Novembre 2008 19:00:52

ça fait longtemps que je n'ai pas touché à DirectX (le 7 en fait :D  ), mais il serait logique que tu puisse créer plusieurs buffers de vertex que tu puisse empiler dans un gros buffer pour faire plusieurs zones.
La 3D est lourd à cause du grand nombre de polygones, c'est pour ça qu'il faut de grosses cartes graphiques et que les algos sont optimisés.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS