CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Clipping avec direct3d

hs_dino
hs_dino
Niveau 9
26 novembre 2002 à 12:51:09

Est-il possible de faire clipper des vertex éclairés projetés par directx ? il clippe mes vertex non projetés, mais pas mes vertex projetés.

Lightness1024
Lightness1024
Niveau 10
30 novembre 2002 à 15:23:36

explike toi clairement

SuperDindon
SuperDindon
Niveau 8
01 décembre 2002 à 07:49:59

Bien sur que c´est possible.
Si tu parles de l´utilisation d´une matrice de projection, c´est donc qu´il doit y avoir de "mauvaises" valeurs dans ta matrice, qui regrouperaient tous tes vertexs dans la zone visible

hs_dino
hs_dino
Niveau 9
01 décembre 2002 à 11:15:12

Je m´explique plus clairement, enfin je vais essayer.

On considere une render zone fullscreen de 640x480.

Voici mon triangle : v1(100, 100); v2(-100, 100); v3(100, 50).
Je précise que les coordonnées de vertex sont en 2d car ce sont vertex transformés ( X, Y, Z, RHW ).

Donc, il y a 2 vertex dans la render zone (v1 et v2) et 1 vertex en dehors (v3).

Si je fais un DrawPrimitive ou equivalent sous OpenGL le triangle ne s´affiche pas car au moins 1 vertex est en dehors de la render zone et qu´il se situe a gauche ou en haut de l´ecran, c´est a dire qu´au moins 1 coordonnée ( X ou Y ) est négative.

Si un triangle en coordonnée 3D ( non transformé X, Y, Z ) contient au moins 1 vertex en dehors de l´écran, la carte vidéo va clipper le triangle, c´est a dire qu´elle va le découper en plusieurs triangles qui seront en limite du viewport si et seulement si les vertex sont dans la bande dite de "GUARD" qui est une bande offscreen qui varie en taille selon les cartes vidéos et les drivers.

Pour résumer, Si j´envoie a l´API un triangle non transformé, il sera clippé par la carte vidéo et j´envoie un triangle transformé il ne s´affiche pas car il n´est pas clippé.

Donc je repose ma question, comment puis-je faire clipper mon triangle transformé.

hs_dino
hs_dino
Niveau 9
01 décembre 2002 à 11:16:32

ERRATA : c´est v2 qui est offscreen.

acidparadouze
acidparadouze
Niveau 10
01 décembre 2002 à 13:26:29

A mon avis a reponse va pas taider mais je te dis quand meme (je sais pas si tui fais bcp de dx ou non)
Ya linstruction
"D3DXMatrixPerspectiveFovLH(&, D3DX_PI/4, . 75, 1.0, 100.0);"
Le dernier parametre est 100.0 et veut dire que les objets plus loins que 100 sont clippes si tu diminues et que tu mets a
"D3DXMatrixPerspectiveFovLH(&, D3DX_PI/4, . 75, 1.0, 10.0);"
par exemple ca pourrait peut etre marcher : ) enfin bon je sais pas si ca a un rapport qu´il soit en rhw ou non enfin bon si ca peut aider ; )

Lightness1024
Lightness1024
Niveau 10
04 décembre 2002 à 14:14:27

ola, moi les triangles deja transformés se dessinent tres bien et clipés comme il faut avec DrawPrimitive.

hs_dino
hs_dino
Niveau 9
04 décembre 2002 à 18:26:14

ah! c´est la réponse que j´attendais Lightness, donc ca signifirait peut etre un probleme de driver.
Bon, je vais méditer ca.
Au cas ou, y aurait-il des cobayes pour tester mon application pour voir si les triangles s´affichent chez vous ?

Merci a tous.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment