π
<-

Un ptit moteur 3D ?

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

Re: Un ptit moteur 3D ?

Unread postby Plokki » 11 Jan 2015, 12:30

TheMachine02 wrote: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 wrote: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
User avatar
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 40.6%
 
Posts: 124
Joined: 02 Sep 2014, 15:15
Location: Près de... ah bah non !
Gender: Male
Calculator(s):
MyCalcs profile
Class: T°S-spé math

Re: Un ptit moteur 3D ?

Unread postby 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 wrote: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 ><)
User avatar
TheMachine02Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 30%
 
Posts: 342
Images: 0
Joined: 16 Jan 2013, 18:27
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Médecine

Re: Un ptit moteur 3D ?

Unread postby 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.
User avatar
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 25%
 
Posts: 506
Joined: 11 Dec 2011, 03:08
Location: France, Châteaurenard
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MPSI

Re: Un ptit moteur 3D ?

Unread postby Plokki » 11 Feb 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
User avatar
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 40.6%
 
Posts: 124
Joined: 02 Sep 2014, 15:15
Location: Près de... ah bah non !
Gender: Male
Calculator(s):
MyCalcs profile
Class: T°S-spé math

Re: Un ptit moteur 3D ?

Unread postby grosged » 12 Feb 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
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Un ptit moteur 3D ?

Unread postby matref » 12 Feb 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
User avatar
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 25%
 
Posts: 506
Joined: 11 Dec 2011, 03:08
Location: France, Châteaurenard
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MPSI

Re: Un ptit moteur 3D ?

Unread postby Plokki » 12 Feb 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é ;)
User avatar
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 40.6%
 
Posts: 124
Joined: 02 Sep 2014, 15:15
Location: Près de... ah bah non !
Gender: Male
Calculator(s):
MyCalcs profile
Class: T°S-spé math

Re: Un ptit moteur 3D ?

Unread postby matref » 12 Feb 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.
User avatar
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 25%
 
Posts: 506
Joined: 11 Dec 2011, 03:08
Location: France, Châteaurenard
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MPSI

Re: Un ptit moteur 3D ?

Unread postby Plokki » 14 Feb 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 ?
User avatar
Plokki
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 40.6%
 
Posts: 124
Joined: 02 Sep 2014, 15:15
Location: Près de... ah bah non !
Gender: Male
Calculator(s):
MyCalcs profile
Class: T°S-spé math

Re: Un ptit moteur 3D ?

Unread postby matref » 14 Feb 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.
User avatar
matref
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 25%
 
Posts: 506
Joined: 11 Dec 2011, 03:08
Location: France, Châteaurenard
Gender: Male
Calculator(s):
MyCalcs profile
Class: Prépa MPSI

PreviousNext

Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 10 guests

-
Search
-
Social TI-Planet
-
Featured topics
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 !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1319 utilisateurs:
>1276 invités
>36 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)