begin process at 2012 02 11 11:14:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

Bump mapping


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Bump mapping

jeudi 14 octobre 2004 à 18:39:57 | Bump mapping

Galmiza

Bonjour,

Je m'interesse au bump mapping mais sur le net, j'ai vu qu'il existe des tonnes de bump mapping différents.

http://www.firingsquad.com/hardware/geforce_fx_half-life2/default.asp

Perso je ne vois que 2 types des bump mapping: le static et le dynamique.
Pour le static, la texture est générée en fonction d'une carte de relief à l'initialisation et on ne tient pas compte des variations de la lumière.
Pour le dynamique, on recalcule plus souvent la texture en fonction de l'éclairage et de la position de l'objet.

J'aimerais savoir si la carte graphique peut gerer sans aide du CPU le bump mapping que j'appelle dynamique et comment avec DirectX9. On donne la texture de base, la texture du relief puis la carte se débrouille toute seule.

J'aimerais en fait connaitre la définition et la traduction de bump mapping car j'ai lu sur internet que grace au bump mapping, on peut simuler le reflet sur l'eau.

Merci !
jeudi 14 octobre 2004 à 19:23:46 | Re : Bump mapping

djl

Réponse acceptée !
ben le bump mapping static, c'est tout est rien, on la tous fais sans savoir que ca avait l'honneur de porté ce nom, a par ca, ca vaut rien

les diffirentes sortes de bumpmapping c'est dynamique, calculé a chaque rendu, et la ya beaucoup de techniques, tirant plus ou moins partie de la cartes graphique

par exemple celui que matrox avais presenté consistait a faire le blending entre la texture et cette meme texture en niveau de gris et décalée en fonction du vecteur lumiere et visuel (le truc tou pourri)

mais le vrai principe du bumpmapping c'est de calculé l'éclairage (le vecteur normal donc) pour chaque pixel de la texture en fonction, toujours de la direction de la lumirere par rapport à l'angle de vue, et d'une valeur de relief pour chaque pixel donnée par le bumpmap correspondant a la carte "relief" de la texture.
cette technique est supporté en hard depuis dx5 je crois, c'est le dot product (a verifier :) ) faut chercher de se coter pour faire ca en hard, pour specifier la normal de chaque pixel


on peut aussi faire un shader pour ca mais c'est se compliquer la vie vu que le dot product est un pixel shader preprogrammer
jeudi 14 octobre 2004 à 21:02:16 | Re : Bump mapping

Maegis

dot product = produit scalaire ...
vendredi 15 octobre 2004 à 11:07:44 | Re : Bump mapping

djl

merci, apres verification l'appelation de microsoft est plutot "Environment Mapped Bump Mapping "
vendredi 15 octobre 2004 à 11:51:15 | Re : Bump mapping

Galmiza

Merci beaucoup !

Je viens d'acheter une ATI Radeon 9600 Pro ( Pixel and Vertex Shader 2.0) pour remplacer ma pauvre GeForce2 (AGP 4X).
Je vais pouvoir me lancer dans les shaders. J'ai télécharger pas mal d'exemple. L'assembleur ne me fait pas peur puisque j'en ai déja fait pas mal auparavant.

J'avais déja entendu parler de l' Environment Mapped Bump Mapping mais je ne savais pas ce que c'était, merci !

Je vais essayer de faire quelques pixels shader pour voir si je peux me passer des trop nombreuses fontions DirectX.

On m'a dit que le dernier Unreal utilise une technique qui va au delà du Bump Mapping: normalement, lorsque la texture est vue de quasi-profil, on est censé ne plus percevoir le relief.
Mais eux rajoutent des triangles en fontion du "relief map" (normales orientées vers nous), ce qui permet de recréer une illlusion de relief.

Merci pour ces réponses !
vendredi 15 octobre 2004 à 11:59:54 | Re : Bump mapping

djl

ce qui serais interessant, c'est de se mettre au cg, le langage inventé par nvidia pour programmer les shaders beaucoup plus facilement

comme son nom l'indique, la synthaxe est proche du c (Cg = C graphics ) et ca evite de se taper du code rebarbatif en assembleur

c'est nvidia mais ca definie un standard de programmation des shaders, donc il me semble que c'est tout a fais possible sur les cartes ati, suffit de telecharger le sdk, apres j'en sais pas plus mais ca doit vraiment valoir le coup, surtout si tu veux t'amuser avec ta carte graphique

regarde des exemples de code en cg pour voir a quel point ca simplifie les choses
vendredi 15 octobre 2004 à 20:31:14 | Re : Bump mapping

Funto66

Mouiiiiiii c'est pas juste moi j'peux pas faire de shaders sur ma carte graphique de meeerde :'(

Pour le coup d'Unreal je savais pas, c'est génial ce truc ! Ils ont donné un nom à la technique?

Aussi une question, c'est possible de faire du bump mapping sans avoir de shaders je suppose? Même sur une ATI Rage 128?

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
vendredi 15 octobre 2004 à 21:37:44 | Re : Bump mapping

djl

oui,

c'est a verifier mais il me semble que "Environment Mapped Bump Mapping " fais partie de la specification ms depuis dx5, le rage 128 est compatible dx6 ou dx7 il me semble (a verifier aussi)

sinon tu as quoi comme extensions opengl sur ta carte ?
samedi 16 octobre 2004 à 15:27:04 | Re : Bump mapping

Galmiza

Funto66 > Bien sur qu'on peut faire du bump mapping sans utiliser la carte graphique (on peut meme faire un moteur 3D complet sans carte graphique).
Si ta carte 3D ne permet pas de faire le bump mapping, tu peux assez facilement en faire un qui sera par contre calculé par le CPU.

Je n'ai pas mes sources sur ce PC mais la fontion LockRect de directX permet d'avoir accès au contenu des surface.
Une autre fonction, GetSurfaceLevel, permet de lier une surface à une texture (quand tu changes la surface, la texture change).
Evidemment il faut analyser soi-même le "relief map", etc... mais ca marche forcement. J'ai pas essayé le bump mapping mais avec les fonctions ci-dessus, on peut le faire.

djl > C'est une bonne idée comme langage le C pour les cartes vidéo. Jette un oeil au software ShaderWorks. Sur ce PC, il n'y a pas de shader (ce PC n'est pas le mien donc n'a pas le Radeon 9600Pro, par contre il a internet et il est à Paris...) donc je ne peux rien tester.
Je ferais des essais quand je serais sur mon PC.
samedi 16 octobre 2004 à 16:34:28 | Re : Bump mapping

Funto66

Comme extensions j'ai le multitexturing, une extension proprio d'ATI pour les vertex shaders (la 1ère version je pense...)...bref tout ce qu'il y a jusqu'à OpenGL 1.2.

Galmiza >> de toutes façons j'utilise OpenGL donc les fonctions DX...:S

Enfin dans tous les cas faut changer de PC :(

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/


Cette discussion est classée dans : dynamique, carte, texture, mapping, bump


Répondre à ce message

Sujets en rapport avec ce message

Opengl + glut : pb console + grosse texture [ par lechabin ] Boinjour à tousmerci de preter attention à mes deux questions.La premiere:est ce qu'il est possible de supprimer la barre bleu qui se place au dessus mapping sur un tore [ par saprobionte ] Bonjour à tous. Alors mon problème, c'est de coller une image sur un tore. Je sais, ca ne doit pas être très difficile, mais cela fait plusieurs jours serie de la carte mere [ par snowline ] Salut, je cherche le moyen de sortir le num de serie de la carte mere en c.Je ne connais pas les fonctions, si qqu po m aidé svp.On ma parlé d moo.dll Les textures en OpenGL [ par fireuo ] Bonjour je vien de commencer en OpenGl et après beaucoup de travail j'ai réusie a faire apparaitre un Mesh avec une texture de gazon. Mais maintenant OpenGL mauvaise odre d'affichage des texture [ par maladedede ] BonjourJe programme un jeu en OpenGL et j'ai déja placé tous les  murs de l'environement( ce sont des surface plane a couleur uniforme).Le problemen c problème de chargement de bitmap [ par Batman60 ] bonjour y a pas moyen de charger des bitmaps avec  la fonction :gluBuild2DMipmaps(GL_TEXTURE_2D, 3, BMP.bmWidth, BMP.bmHeight,    GL_RGB, GL_UNSIGNED_ Récupération d'informations [ par nicolas66 ] Bonjour, Pour un projet perso, je cherche à pouvoir récupérer plusieurs informations en C++ sous windows : informations du carte mère [ par Mohbenna2005 ] Comment obtenir les informations du carte mère d'une machine pour que votre application en C++ Builder ne marche que dans une seule machine. Capture vidéo sur la sortie de la carte vidéo help me!!!! [ par domdom73 ] SalutJe voudrais capturer ce qui sort de ma carte vidéo, est ce possible???D'avance mercidomdom73 capteur de proximite [ par aymeric53 ] Bonjour à tous.Je suis actuellement en 2éme anné de BTS IRIS et il faut que je fasse une petite interface avec un capteur MSU04, permettant d'indiquer


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales