void RenderParallel(Scene scene, Int32[] rgb)
{
int totalPixels = screenHeight * screenWidth;
Camera camera = scene.Camera;
Parallel.ForEach(Partitioner.Create(0, totalPixels), range =>
{
for (int i = range.Item1; i < range.Item2; i++)
{
int y = i / screenWidth, x = i % screenWidth;
Color color = TraceRay(
new Ray(camera.Pos, GetPoint(x, y, camera)), scene, 0);
rgb[i] = color.ToInt32();
}
});
}
No comments:
Post a Comment