π
<-

Un ptit moteur 3D ?

Assembleur, Axe, C/C++, ICE...

Re: Un ptit moteur 3D ?

Message non lude Plokki » 11 Jan 2015, 12:30

TheMachine02 a écrit:Matref pour son shooter utilisait un trick dût au caractère spécial du tunnel (si c'est bien celui là dont tu parle).


heu tu parles de son shooter ou de son tunnel ? Moi je parle du shooter avec le cube en 3d et les points sur ses faces qu'il faut viser. :?

TheMachine02 a écrit:Pour les rotations tout dépend de ce que tu veux faire, mais en général c'est les points qui bougent.


Ok ça me rassure par ce que je me demandais si c'était normal que je puisse y arriver juste avec une formule pour faire tourner mes points et avec un Thalès tout pourri :p
Avatar de l’utilisateur
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 40.6%
 
Messages: 124
Inscription: 02 Sep 2014, 15:15
Localisation: Près de... ah bah non !
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: T°S-spé math

Re: Un ptit moteur 3D ?

Message non lude TheMachine02 » 14 Jan 2015, 10:53

Ah le shooter ! Il utilisait une technique nommée backface culling, les faces cachées sont retirées en comparant la normale de la face et le vecteur camera, le problème, ben c'est que ça retire pas tout :p
ça marchait bien parce que c'était un cube sinon ben blob quoi :D

Plokki a écrit:Ok ça me rassure par ce que je me demandais si c'était normal que je puisse y arriver juste avec une formule pour faire tourner mes points et avec un Thalès tout pourri :p


Ben c'est les bases de la 3D, c'est tout. C'est pas très compliqué (mais après les optimisations, c'est autre chose ><)
Avatar de l’utilisateur
TheMachine02Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 30%
 
Messages: 342
Images: 0
Inscription: 16 Jan 2013, 18:27
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: Médecine

Re: Un ptit moteur 3D ?

Message non lude matref » 14 Jan 2015, 16:46

Le backface culling seul n'est suffisant que sur les polyèdres convexes, puisque ça retire les faces "dos à la caméra", pour faire simple. Le premier truc auquel il faut faire attention, c'est de bien définir toutes les faces des solides avec les sommets allant dans un sens précis (sens des aiguilles d'une montre ou inverse). En gros, pour faire du backface culling (qui au passage ne marche qu'avec des faces dont tous les points sont dans le même plan), tu calcules la normale à la face, et tu fais un produit scalaire entre la normale et le vecteur qui part de la caméra et arrive sur un des points de la face (n'importe). Ensuite, selon l'ordre des sommets de la face tu interprètes le signe du produit scalaire pour savoir si tu dois traiter la face ou pas.

Pour le tunnel, comme a dit TheMachine02 je fais pas d'occlusion 3D. Ce que je fais c'est que toutes les lignes du tunnel sont dessinées dans un écran "virtuel" définit par 4 variables (x, y, longueur, hauteur), et à chaque fois que je m'éloigne (càd à chaque itération), je rétrécis l'écran virtuel pour qu'il soit confondu avec le rectangle dessiné par l'itération précédente du tunnel, de manière à ce que rien ne soit dessiné en-dehors du rectangle dessiné par les lignes précédentes.
Avatar de l’utilisateur
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 25%
 
Messages: 506
Inscription: 11 Déc 2011, 03:08
Localisation: France, Châteaurenard
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prépa MPSI

Re: Un ptit moteur 3D ?

Message non lude Plokki » 11 Fév 2015, 23:09

Je teste une autre méthode qui est peut être possiblement un peu moins plus rapide que l'autre :troll:, enfin je m'étale pas parce que si je me viande je l'ai dans le baba :D
Avatar de l’utilisateur
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 40.6%
 
Messages: 124
Inscription: 02 Sep 2014, 15:15
Localisation: Près de... ah bah non !
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: T°S-spé math

Re: Un ptit moteur 3D ?

Message non lude grosged » 12 Fév 2015, 17:15

Au cas où ça intéresserait , j'ai goupillé une archive regroupant une série d'articles (parue dans l'ancienne revue MICR0-SYSTEMES, en 1986) expliquant pas-à-pas les bases d'un moteur 3d : C0MPRENDRE L'IMAGE INF0RMATIQUE ;)
Alors...si, comme moi, vous n'êtes pas un pro de la "mécanique 3d" :'( , bref! que vous avez du mal à assimiler tout ça...jetez-y un oeil!.. même les deux! :D
Avatar de l’utilisateur
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 32.5%
 
Messages: 776
Images: 92
Inscription: 14 Sep 2011, 12:29
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Un ptit moteur 3D ?

Message non lude matref » 12 Fév 2015, 17:25

Plokki tu peux pas faire plus rapide que le backface culling, c'est la méthode d'occlusion la plus simpliste et donc la plus rapide de tous les temps (pour de la vraie 3D hein) :P
Avatar de l’utilisateur
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 25%
 
Messages: 506
Inscription: 11 Déc 2011, 03:08
Localisation: France, Châteaurenard
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prépa MPSI

Re: Un ptit moteur 3D ?

Message non lude Plokki » 12 Fév 2015, 21:23

Matref: Non je ne parlais pas du backface culling, je ne m'y suis même pas encore essayé parce que j'ai pas encore les compétences en maths (on n'a pas encore vu le produit scalaire en détail et j'ai pas eu envie de chercher sur google). Je parlais du moteur 3D en lui-même. En gros j'essaye de faire l'inverse: garder les points fixes et faire bouger le point de vue autour. De là où j'en suis c'est plus compliqué :) .

Grosged: Merci ça à l'air intéressant, d'autant plus que j'ai pas trouvé grand chose sur internet je regarderais en détail si je suis motivé ;)
Avatar de l’utilisateur
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 40.6%
 
Messages: 124
Inscription: 02 Sep 2014, 15:15
Localisation: Près de... ah bah non !
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: T°S-spé math

Re: Un ptit moteur 3D ?

Message non lude matref » 12 Fév 2015, 21:24

Ah d'accord. En fait c'est plus facile puisque tu bouges juste la caméra. Pis au final ça revient au même puisque les calculs sont les mêmes etoo.
Avatar de l’utilisateur
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 25%
 
Messages: 506
Inscription: 11 Déc 2011, 03:08
Localisation: France, Châteaurenard
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prépa MPSI

Re: Un ptit moteur 3D ?

Message non lude Plokki » 14 Fév 2015, 11:44

heu, je sais pas comment tu t'y prend mais va pas me faire croire que des équations de plan c'est la même chose que thalès :?
En passant, j'ai un peu trifouillé avec les droites et j'ai trouvé ça:
Pour tout vecteur directeur u(a,b,c) d'une droite on a bcx+acy-2abz+d=0. Pour trouver d, on prend un point quelconque de la droite de coordonnées (x,y,z). Chaque point de la droite vérifie cette équation... sauf qu'elle est de type ax+by+cz+d=0, c'est donc une équation de plan. Mais de quel plan ?
Avatar de l’utilisateur
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 40.6%
 
Messages: 124
Inscription: 02 Sep 2014, 15:15
Localisation: Près de... ah bah non !
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: T°S-spé math

Re: Un ptit moteur 3D ?

Message non lude matref » 14 Fév 2015, 11:56

C'est pas une équation de droite ça :P une droite c'est l'intersection de deux plans non confondus, donc deux équations. Ce que tu prends pour une droite est bien un plan.
Avatar de l’utilisateur
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 25%
 
Messages: 506
Inscription: 11 Déc 2011, 03:08
Localisation: France, Châteaurenard
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prépa MPSI

PrécédenteSuivante

Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2182 utilisateurs:
>2168 invités
>6 membres
>8 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)