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

(algorithmique) Arbres BSP

LGV
LGV
Niveau 28
27 avril 2004 à 17:32:09

tiens, si ça peut t´éclairer,y´a le bout de code qu´on avait pondu pour un projet :

http://netabarons.chez.tiz.tiscali.fr/downloads/BSP.ace

y´a du refactoring de C avec encapsulation C++, donc y´a beaucoup de méthodes statiques : conceptuellement, c´est ignoble, mais ça marche :)

kufa
kufa
Niveau 9
27 avril 2004 à 19:21:20

Lgv: comment ca a deadline +1? Ha vi, 1 mois de retard ; )

Oui l´implementation des portals et du calcul de radiosite varie bcp selon les jeux etc.. Pour l´info moi j utilisais pour les portals un mix de q2/q3/code a moi, et pour la radiosite q2/code a moi, le code de qradiant3 etant moche et trop mappe aux besoins specifiques du jeu..

i_am_the_law
i_am_the_law
Niveau 6
27 avril 2004 à 20:06:53

J´arrive p-e un peu tard sur le sujet, mais un tres bon lien qui permet de tout comprendre sur les bsp :

http://www.gamedev.net/reference/programming/features/bsptree/bsp.pdf

et une faq qui peut permettre de repondre a des questions que tu pourrais te poser
http://www.gamedev.net/reference/articles/article657.asp

Un conseil : les bsp c´est bien pour commencer a se familiariser avec l´occlusion ou les pvs, mais faut savoir que c´est efficace que pour les scenes d´interieur et les objets fixes ( pr les objets qui bougent y´a des structures + efficaces).

lag-it
lag-it
Niveau 10
27 avril 2004 à 22:20:01

Merci je vais aller voir :)

viki6kornman
viki6kornman
Niveau 10
27 avril 2004 à 22:39:26

:)

Lightness1024
Lightness1024
Niveau 10
28 avril 2004 à 00:04:39

" "il n´y qu´à tester si chaque noeud traversé par le rayon est solide pour savoir si " voit" la cible."

sans dec, trop fort le bsp.

moa je v devoir tester pour chaque polygone compris dans les secteurs activés par la proximité du rayon.
ce qui a l´air plus compliqué a déterminer qu´avec les BSP.

mais bon, au moins ca sera du systeme-lightness a 100% et pas une technique connue, ( ok je réinvente la roue machin) ben oui et j´aime bien.

lag-it
lag-it
Niveau 10
28 avril 2004 à 10:54:35

Lightness-System à 100 % :-)))

Mais comment fait on pour faire traverser le rayon à travers l´arbre ? Quel est le lien entre l´arbre et le rayon ?

viki6kornman
viki6kornman
Niveau 10
28 avril 2004 à 10:57:59

:question:

LGV
LGV
Niveau 28
28 avril 2004 à 11:23:31

le rayon => deux positions
l´arbre => des polygones

y´a qu´à regarder la position relative de chaque extermité du segment par rapport au splitter en chaque noeud du BSP

le point est devant le splitter ? => on descend dans la partie front du BSP
le point est derrière le splitter ? => on descend dans la partie back du BSP

regarde dans tous les liens qu´ont été donnés, regarde le code ( tres court généralement) d´un test de visibilité, ça t´éclairera.

Maintenant, si tu veux faire un système " à la toi" je ne vois pas pourquoi tu t´ennuies avec un BSP puisque ton raycasting ne tirera pas partie de cette structure ? Pourquoi organiser les polygones si c´est pour trifouiller je sais pas quoi avec une " proximité de rayon". Si tu veux travailler avec des notions de proximités, donc de zones, prefère plutôt construire un octree...

viki6kornman
viki6kornman
Niveau 10
28 avril 2004 à 11:48:20

:oui:

LGV
LGV
Niveau 28
28 avril 2004 à 11:59:55

viki6kornman : t´es OBLIGÉ de foutre des smileys sur chaque page où tu passes ? ! ça ne fait avancer en rien les discussions... Si c´est juste pour dire " j´ai lu", imagine si tout le monde faisait pareil !
Surtout, un smiley aprobateur alors que je suis persuadé que tu n´as rien compris de ce que j´ai pu expliquer... ( mais ça c´est normal, des gars plus agés galèrent déjà donc bon...)

viki6kornman
viki6kornman
Niveau 10
28 avril 2004 à 12:17:43

G à peu prés comprit, je ne comprends pas tout, mas le principal du message, mais j´en ai marre, je me fais tjrs engueler vous commencez à être chiant! Et puis je dis ça juste pour dire que j´ai lu, c sûr, mais d´autres ne lisent pas, moi g c de m´integrer de prendre part aux conversations, mais vous m´aidez pasdu tt là! :-((

LGV
LGV
Niveau 28
28 avril 2004 à 13:09:08

t´énerves pas, j´essaye juste de te faire comprendre que si tout le monde faisait pareil, on ne s´y retrouverait plus, y´aura un post, suivi de 25 ouaip/ah bon/smiley, avant un autre post donnant suite à la discussion.
Perso je passe beaucoup de temps à chercher du boulot et programmer, et quand je vois que je peux aider j´hésite pas à prendre qq minutes pour taper un post, mais quand je fais 10 topics pour voir qu´il n´y aucune suite du dialogue ni nouvelle question mais plutôt que des " j´ai lu", comprends que c´est une perte de temps énervante.
Ceux qui ne lisent pas, je m´en fiche, ils ne sont surement pas interessé, par contre s´ils posent la meme question à coté là je rale ; et si toi tu lis, tant mieux, meme si à ton stade c´est plus pour la culture personnelle que pour l´aspect technique ( si tu expliquer un BSP à qqun d´autre à 13 ans, je dis chapeau...) ; maintenant si tu veux rééllement prendre part aux conversations, comme tu le dis, il va falloir changer de registre je pense.
On discute technique et on débloque des problèmes, si qqun propose une autre solution on écoute, si qqun rencontre un problème on réfléchit. En dehors de ça, tout n´est que perte de temps.

Lightness1024
Lightness1024
Niveau 10
28 avril 2004 à 14:39:33

" Si tu veux travailler avec des notions de proximités, donc de zones, prefère plutôt construire un octree..."

c´est justement mon choix, mais trafiqué ( c´est un bitree).

lag-it
lag-it
Niveau 10
28 avril 2004 à 19:29:53

Merci LGV

LGV
LGV
Niveau 28
28 avril 2004 à 20:52:03

lag-it : np

lightness1024 : un bitree ? . .. par analgie avec les autres partitions de domaine, ça serait logiquement une structure mappée sur un domaine 1D et donc le parcours reviendrait à une dichotomie.
Ne s´agit-il pas plutôt d´un quad-tree auquel tu rajoutes une notion d´altitude ? Sinon je ne vois pas trop comment tu vas considérer des polygones ? Ou alors c´est simplement un arbre binaire mais alors on se rapproche plus du BSP que de l´octree.. du coup, je comprends plus rien à la technique que tu comptes mettre en oeuvre LOOOL :D

lag-it
lag-it
Niveau 10
01 mai 2004 à 20:54:51

Tatda ! ! Retour du topic de l´arbre BSP :-) ! !

Bon alors j´ai une nouvelle questions :
J´aiessayé les petits applet Java illustrant le concept de l´arbre BSP mais, du fait qu´il soient en 2 dimensions, je m´interroge sur le problèe suivant :
Imaginons une salle cubique de 100*100*100 et un cube posé sur le sol en son centre, de dimensions 1*1*1 ( pas d´unités et le cube est un élément du monde : pas une entité, et donc immobile ) .
Le principe de l´arbre BSP étant de créer cet arbre selon la positions des faces par rapport aux autres, va on choisir à un moment dans l´arbre une face du cube comme face de référence, sachant que son incidence est minime voire nulle ? Et pourquoi ?

LGV
LGV
Niveau 28
01 mai 2004 à 22:15:39

j´ai pas bien saisi la question... :/

toutes les faces, aussi petites soient-elles ont leur importance, puisqu´elle peuvent entrainer plus ou moins de subdivisions.
Maintenant se pose plutôt la question du choix du splitter ( ou face de référence comme tu l´appelles). Là, chacun y va de sa méthode pour essayer d´équilibrer l´arbre sans introduire trop de subdivisions.
Mais comme je le disais je ne saisis pas bien sur quoi se posent tes interrogations :-?

lag-it
lag-it
Niveau 10
01 mai 2004 à 22:52:50

Je m´en doutais je reformule :) :

Un objet minuscule ( un cloou par exemple ) va il servir à un moment donné dans l´arbre de face de référence ( pour trier les faces avant et arrières ) alors que ses dimensions sont minimes ?

LGV
LGV
Niveau 28
01 mai 2004 à 23:17:36

ben théoriquement oui, à partir du moment où c´est un élément statique du décor, autant le foutre dans le BSP. Maintenant on s´amusera rarement à traiter des objets statiques de taille aussi petite, parce qu´ils ne représentent pas de détail " interessant". Typiquement, tous les " petits" détails seront réalisés à coup de textures ou autres effets, les petits objets seront dynamiques et à faible durée de vie ( douilles dans un FPS par exemple). Un exemple d´objet statique interessant pour un BSP, c´est une caisse de taille raisonnable, derrière laquelle le joueur peut se cacher : s´il peut se cacher derriere c´est quelle peut obstruer une bonne partie du champs de vision, du coup ça devient interessant pour le BSP.
Par contre, mettre 15 " clous" dans un BSP, ça risque de faire croitre considérablement le nombre de polys ; faut bien se définir à l´avance les contraintes pour que le level design suive. Ensuite, rien ne t´empeche de gérer une structure de données annexe dans laquelle tu auras d´autres objets, mais il y aura donc des tests de visibilité à faire... Il faut trouver le bon compromis. L´idéal étant d´avoir dès le départ une scène homogène ( pas de disproportion entre détails minuscules et grands espaces) détaillée avec peu de polygones... dur dur...

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