Tom's Guide > Forum > Programmation > OpenGL shaders sous ATI Radeon 9250

OpenGL shaders sous ATI Radeon 9250

Forum Programmation : OpenGL shaders sous ATI Radeon 9250

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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!

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

pixels shaders ou vertex shaders ? et quelle version ?

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

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?


Message édité par molotov2 le 19-11-2008 à 19:22:07
Répondre à molotov2

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.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

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:

Répondre à molotov2

Pour la redimension, tes paramètres envoyés au reset ne sont peut-être pas bons (ou incomplets).

Répondre à CRicky

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?

Répondre à molotov2

Aussi, tant que je suis en DirectX, c'est mieux de programmer la couche réseau avec DirectPlay ou les Sockets?

Répondre à molotov2

Oui autant utiliser DirectPlay et les autres composants puisque de toutes façons, tu perds la portabilité.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

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?


Message édité par molotov2 le 27-11-2008 à 14:29:19
Répondre à molotov2

ç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.

Répondre à CRicky
Tom's Guide > Forum > Programmation > OpenGL shaders sous ATI Radeon 9250
Aller à :

Il y a 1300 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens