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.
(C#)
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;
}
}
}
}
}
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.
Je dois surement modéliser un écran dans mon espace 3D "Universe" mais là aussi je bloque.
+0
-0