Bonjour,
Je n'arrive toujours pas à assimiler le concept de lancer de rayons, j'ai la base pour lancer des rayons à partir d'un point de fuite à coup de vecteur forward puis détecter la collision de point dans l'espace avec les rayons, mais je bloque sur l'affichage.
Et je me demande ce que je dois mettre dans Screen.GetIndex(???), cette méthode calcule l'index de l'écran 1D par rapport à une coordonne 2D écran donner.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 for (var Pitch = -50F; Pitch < 50; Pitch += 1) { for (var Yaw = -50F; Yaw < 50; Yaw += 1) { var Dot = Vector.GetForwardVector(new Rotator(Pitch, Yaw, 0)); for (var RayDepth = 0; RayDepth < 25; RayDepth += 1) { var Ray = Dot * RayDepth; var IndexDot = Universe.GetIndex(Ray); if (IndexDot != -1) { if (Universe.Data[(Int32)IndexDot] != 0) { var IndexPixel = Screen.GetIndex(???); if (IndexPixel != -1) { Screen.Data[IndexPixel] = Universe.Data[(Int32)IndexDot]; } RayDepth = 51; } } } } }
Je dois surement modéliser un écran dans mon espace 3D "Universe" mais là aussi je bloque.
Partager