本文整理汇总了C#中ICamera.GenerateRay方法的典型用法代码示例。如果您正苦于以下问题:C# ICamera.GenerateRay方法的具体用法?C# ICamera.GenerateRay怎么用?C# ICamera.GenerateRay使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICamera
的用法示例。
在下文中一共展示了ICamera.GenerateRay方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Render
public static Image Render(Scene scene, ICamera camera, Film film)
{
float halfWidth = film.Width / 2;
float halfHeight = film.Height / 2;
IIntegrator integrator = new DirectIntegrator();
for (int x = 0; x < film.Width; ++x)
{
for (int y = 0; y < film.Height; ++y)
{
// Transform image->space to camera space
Math.Point rayOrigin = new Math.Point()
{
X = (x - halfWidth) / film.Width,
Y = -(y - halfHeight) / film.Width,
Z = 0
};
Ray ray = camera.GenerateRay(rayOrigin);
film[x, y] = integrator.Integrate(ray, scene);
}
}
return film.ToImage();
}