Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1262 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  Programmation 3D : rendu de mer/vagues

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Programmation 3D : rendu de mer/vagues

n°1610061
Kremtak
Posté le 10-09-2007 à 13:32:00  profilanswer
 

Salut à tous/tes
Bon, je sais pas encore trop si ce message doit aller dans la section "Graphisme" ou "Programmation" puisque ça dépend de la réponse... En fait je cherche à rendre une mer pour un projet de jeu, et je ne sais pas trop sous quel angle aborder ce problème... et sans utiliser de shaders, hélas. Quelqu'un aurait des idée sur la question? Pour l'instant j'ai deux pistes :  
* "Animations UV" : j'en n'ai jamais fait, mais je suppose qu'il s'agit de dessiner une mer plate (ou en tout cas figée) et de manipuler les vecteurs U et V lors du rendu des textures, de façon à recréer une impression de mouvement
* Faire des vagues en 3D : à ce moment c'est plus de la modélisation que de la programmation... j'ai vu + ou - comment faire ça sous 3ds max mais j'ai peur que le rendu soit pauvre sans shader.
Evidemment y'a toujours la possibilité de combiner les deux.
 
Donc ma question, c'est de savoir si vous auriez des conseils à m'apporter étant donné que c'est la première fois que je programme un truc comme ça, voire si vous connaissez des algos tout prêts (on peut rêver  :)  ) ou des tutoriaux (ceux que j'ai trouvés utilisent des shaders)...

mood
Publicité
Posté le 10-09-2007 à 13:32:00  profilanswer
 

n°1610089
MagicBuzz
Posté le 10-09-2007 à 14:19:05  profilanswer
 

En 3D y'a pas des notions de texture de relief ? (normale)
 
C'est à dire, en raytracing par exemple, on dit "ah ben la normale de cette texture, c'est cette texture".
Ca permet, à partir d'un objet parfaitement plat, de gérer un relief parfaitement réaliste. Je pense qu'en D3D ou OpenGL ça existe aussi, non ?
 
Exemples de rendu d'eau avec PovRay :
http://www.imagico.de/pov/water/water05.html
 
A chaque fois, c'est un bête plan qui est utilisé.
Je doute qu'on ne puisse pas faire pareil en D3D, sans utiliser les shaders.


Message édité par MagicBuzz le 10-09-2007 à 14:19:25
n°1610158
bjone
Insert booze to continue
Posté le 10-09-2007 à 16:46:15  profilanswer
 

déjà D3D ou OGL ou les deux ? (ou autre)
 
en D3D et en OGL il est possible de faire du normal mapping limité avec les états classiques normalement, en D3D tu as l'opérateur D3DTOP_DOTPRODUCT3.
 
pour faire des vagues, si tu ne veux pas être dépendant du CPU, il faut y aller par keyframes, et donc là coté vieux D3D, ce serait le "Vertex Tweening".

n°1610180
Kremtak
Posté le 10-09-2007 à 17:40:29  profilanswer
 

Merci pour les réponses
En fait j'utilise un middleware pour la PS2, donc ni DX ni GL, mais je ne pense pas que l'api change grand chose pour ce que je veux faire. Le lien que tu donnes MagicBuzz est intéressant, je vais approfondir ça...

n°1610186
MagicBuzz
Posté le 10-09-2007 à 17:52:21  profilanswer
 

Ne creuse pas trop le lien que j'ai donné. C'était juste pour illustre le principe de la "normale" d'une texture.
 
Le Ray Tracing c'est... un peu extrêment lent, c'est ce qui sert à faire des rendus photo-réaliste, mais ça prend des heures pour une bête image ;) Pas trop adapté à un jeu quoi... :D
 
Sinon, pour ce qui est des API, si, elles seront à 100% dépendantes du framework utilisé, mais aussi du matériel. Par contre, effectivement, les principes restent les même, à condition d'être supportés ;)

n°1610189
bjone
Insert booze to continue
Posté le 10-09-2007 à 17:55:52  profilanswer
 

le raytraçing n'est pas une finalité en lui-même.
 
tu peux avoir un rendu plus photo-réaliste via un rasteriseur que par ray-tracer. (ça dépends comment tu alimente la chose)

n°1610504
MagicBuzz
Posté le 11-09-2007 à 09:51:16  profilanswer
 

(pour "un rendu précis", oui, dans l'absolu pas d'accord, mais bon c'est une autre affaire)
 
ce que je voulais dire surtout, c'est surtout que c'est des techniques tellement différentes que ce que permet l'un est généralement impossible avec l'autre. pour le néophyte, il ne va pas y avoir de différence flagrande, mais c'est comme comparer un pad et une souris... bah pour un certain nombre de choses on s'en sort aussi bien avec l'un qu'avec l'autre, et pour d'autres choses... pas vraiment.
 
Dans tous les cas, autant pour faire des séquences cinématiques, le RayTracing sera un meilleurs outils que le "Rastering ?", autant pour faire un jeu bah... y'a pas à tortiller, le RayTracing servira à rien. 2 FPM en faisant un rendu pourri, c'est pas terrible :o
 
Par contre, là où ils peuvent être complémentaires, c'est pour la création de la scène, le choix des textures, etc. Effectivement, le RayTracing utilise généralement des textures procédurales (donc pas des images mappée) ce qui permet de faire des jeux de textures différentes pour chaque rendu sans se faire chier à les fabriquer à la main à chaque fois. Mais surtout, il va produire des effets de lumière, d'ombres et de brouillrad parfaitement photo réaliste, qui permettront d'assiter le graphiste à refaire la scène en Rastering, où ce genre d'effets sont... plus faits à la main qu'autrechose. (j'ai bidouillé un tout petit peut de D3D, c'est vraiment horrible les rendus de lumière... faut vraiment tout se pallucher à la main si on veut pas que toute la surface d'un plan devienne subitement saturée sans raison, ou qu'on voit apparaître les vertices un a un)

n°1610521
bjone
Insert booze to continue
Posté le 11-09-2007 à 10:42:01  profilanswer
 

là oui, effectivement le ray tracing a l'avantage certain au niveau de tout ce qui est optique, pas obligatoirement matériau, mais la partie réflection/refraction est quasi impossible a faire au niveau rasterisation sans hacks (et ce sera toujours inférieur au ray-traçcing).
 
par contre question éclairage, le raytracing n'est pas une garantie en soi: un rasteriseur alimenté par une solution d'illumination globale sera bien plus photo-réaliste que du ray-tracing seul.
 
le raytracing, sans solution d'illumination globale, bin ça aura le cachet de doom 3, du chimique bien dur (mais ça a son style).
 
je veux dire qu'on déjà eu des jeux plus photo-réalistes que pas mal de rendus ray-tracés.
(maintenant bien sûr le GI ça marche très bien avec un moteur raytracé :D, vu que ça a été fait d'abord pour du rendu haute-qualité)


Message édité par bjone le 12-09-2007 à 11:05:53
n°1610522
bjone
Insert booze to continue
Posté le 11-09-2007 à 10:45:33  profilanswer
 

bon bref Kremtak t'as trouvé ce que tu voulais ? (j'ai vu passer un PDF de normal mapping pour PS2 dans google :D)
 
ceci dit, il vaux mieux commençer d'abord par animer les vagues par interpolation ou autre technique (tu crées ta grilles et tu sin tes positions/normales)


Message édité par bjone le 11-09-2007 à 10:56:22
n°1610803
Kremtak
Posté le 11-09-2007 à 23:42:43  profilanswer
 

Yep merci de t'inquiéter de mon sort, j'ai à peu près ce que je veux. Pour la ptite histoire j'ai fait les vagues dans 3ds max et en exportant un modèle animé, ce à quoi vient s'ajouter des ptites déformations UV sinusoïdales qui donnent un petit effet sympa, on fait ce qu'on peut quand on n'a pas de shader :) Je pense que je vais ajouter un peu de bruit (perlin?) à tout ça et ce sera bon

mood
Publicité
Posté le 11-09-2007 à 23:42:43  profilanswer
 

n°1610805
Kremtak
Posté le 11-09-2007 à 23:53:42  profilanswer
 

Sinon, en ce qui concerne la manipulation des normales des textures, si je me trompe pas il s'agit du bump-mapping et malheureusement la PS2 ne sait pas faire ça :(

n°1610883
_darkalt3_
Proctopathe
Posté le 12-09-2007 à 10:36:54  profilanswer
 

[:drapal]


---------------
Töp of the plöp
n°1610904
bjone
Insert booze to continue
Posté le 12-09-2007 à 10:59:38  profilanswer
 

Kremtak a écrit :

Sinon, en ce qui concerne la manipulation des normales des textures, si je me trompe pas il s'agit du bump-mapping et malheureusement la PS2 ne sait pas faire ça :(


 
tiens le pdf dont je parlais:
 
http://playstation2-linux.com/file [...] apping.pdf
 
maintenant tu tentes ou pas :D (a mon avis ça risque d'être très chiant)

n°1610951
Jux_
Posté le 12-09-2007 à 12:04:18  profilanswer
 

La PS2 doit quand meme pouvoir faire du multi texturing donc on peut toujours faire un bump map simple (voir Emboss bump map). Le probleme c'est que de toute façon, normal mapping ou pas, cette technique est a mon avis largement insuffisante pour créer une impression de mouvement d'eau puisqu'elle ne permet que de simuler des reliefs leger.
Ici je pense que dans les conditions imposées sans shaders, le rendu d'une vrai anim + anim UV est le mieux.

n°1610954
bjone
Insert booze to continue
Posté le 12-09-2007 à 12:17:52  profilanswer
 

bin les deux mon général, le normal mapping ne remplace pas (ou si peu) de la belle géométrie :D


Message édité par bjone le 12-09-2007 à 12:18:17
n°1610980
Jux_
Posté le 12-09-2007 à 13:15:15  profilanswer
 

Me suis mal exprimé, je voulais dire: emboss ou normal, ni l'une ni l'autre des techniques n'est adaptée. Je pense qu'on est d'accord sur ce point :)

n°1611264
bjone
Insert booze to continue
Posté le 13-09-2007 à 10:43:46  profilanswer
 

et bien ça dépends: dans les simus style IL2 le normal mapping sur l'eau est très efficace.
pareil farcry fait plus un traitement par shader normal-mappé et perturbation de la transparence.
 
maintenant sur PS2 :D
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  Programmation 3D : rendu de mer/vagues

 

Sujets relatifs
Aide pour débuter la programmation d un mini jeuPB de programmation VB Access
Robinetterie et programmationprogrammation
Programmation port USBj'aimerai avoir quelque conseil a propos de la programmation
Site d'enchère sur programmation PHPProbleme- Programmation modulaire
Lister tous les services windows @ ProgrammationProgrammation Lotus
Plus de sujets relatifs à : Programmation 3D : rendu de mer/vagues


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR