@@ -62,24 +62,24 @@ std::string CameraTransform::ToString() const {
6262}
6363
6464// Camera Method Definitions
65- pstd::optional<CameraRayDifferential> Camera::GenerateRayDifferential (
65+ PBRT_CPU_GPU pstd::optional<CameraRayDifferential> Camera::GenerateRayDifferential (
6666 CameraSample sample, SampledWavelengths &lambda) const {
6767 auto gen = [&](auto ptr) { return ptr->GenerateRayDifferential (sample, lambda); };
6868 return Dispatch (gen);
6969}
7070
71- SampledSpectrum Camera::We (const Ray &ray, SampledWavelengths &lambda,
71+ PBRT_CPU_GPU SampledSpectrum Camera::We (const Ray &ray, SampledWavelengths &lambda,
7272 Point2f *pRaster2) const {
7373 auto we = [&](auto ptr) { return ptr->We (ray, lambda, pRaster2); };
7474 return Dispatch (we);
7575}
7676
77- void Camera::PDF_We (const Ray &ray, Float *pdfPos, Float *pdfDir) const {
77+ PBRT_CPU_GPU void Camera::PDF_We (const Ray &ray, Float *pdfPos, Float *pdfDir) const {
7878 auto pdf = [&](auto ptr) { return ptr->PDF_We (ray, pdfPos, pdfDir); };
7979 return Dispatch (pdf);
8080}
8181
82- pstd::optional<CameraWiSample> Camera::SampleWi (const Interaction &ref, Point2f u,
82+ PBRT_CPU_GPU pstd::optional<CameraWiSample> Camera::SampleWi (const Interaction &ref, Point2f u,
8383 SampledWavelengths &lambda) const {
8484 auto sample = [&](auto ptr) { return ptr->SampleWi (ref, u, lambda); };
8585 return Dispatch (sample);
@@ -113,7 +113,7 @@ CameraBase::CameraBase(CameraBaseParameters p)
113113 " the system may crash as a result of this." );
114114}
115115
116- pstd::optional<CameraRayDifferential> CameraBase::GenerateRayDifferential (
116+ PBRT_CPU_GPU pstd::optional<CameraRayDifferential> CameraBase::GenerateRayDifferential (
117117 Camera camera, CameraSample sample, SampledWavelengths &lambda) {
118118 // Generate regular camera ray _cr_ for ray differential
119119 pstd::optional<CameraRay> cr = camera.GenerateRay (sample, lambda);
@@ -281,7 +281,7 @@ CameraBaseParameters::CameraBaseParameters(const CameraTransform &cameraTransfor
281281}
282282
283283// OrthographicCamera Method Definitions
284- pstd::optional<CameraRay> OrthographicCamera::GenerateRay (
284+ PBRT_CPU_GPU pstd::optional<CameraRay> OrthographicCamera::GenerateRay (
285285 CameraSample sample, SampledWavelengths &lambda) const {
286286 // Compute raster and camera sample positions
287287 Point3f pFilm = Point3f (sample.pFilm .x , sample.pFilm .y , 0 );
@@ -305,7 +305,7 @@ pstd::optional<CameraRay> OrthographicCamera::GenerateRay(
305305 return CameraRay{RenderFromCamera (ray)};
306306}
307307
308- pstd::optional<CameraRayDifferential> OrthographicCamera::GenerateRayDifferential (
308+ PBRT_CPU_GPU pstd::optional<CameraRayDifferential> OrthographicCamera::GenerateRayDifferential (
309309 CameraSample sample, SampledWavelengths &lambda) const {
310310 // Compute main orthographic viewing ray
311311 // Compute raster and camera sample positions
@@ -401,7 +401,7 @@ OrthographicCamera *OrthographicCamera::Create(const ParameterDictionary ¶me
401401}
402402
403403// PerspectiveCamera Method Definitions
404- pstd::optional<CameraRay> PerspectiveCamera::GenerateRay (
404+ PBRT_CPU_GPU pstd::optional<CameraRay> PerspectiveCamera::GenerateRay (
405405 CameraSample sample, SampledWavelengths &lambda) const {
406406 // Compute raster and camera sample positions
407407 Point3f pFilm = Point3f (sample.pFilm .x , sample.pFilm .y , 0 );
@@ -426,7 +426,7 @@ pstd::optional<CameraRay> PerspectiveCamera::GenerateRay(
426426 return CameraRay{RenderFromCamera (ray)};
427427}
428428
429- pstd::optional<CameraRayDifferential> PerspectiveCamera::GenerateRayDifferential (
429+ PBRT_CPU_GPU pstd::optional<CameraRayDifferential> PerspectiveCamera::GenerateRayDifferential (
430430 CameraSample sample, SampledWavelengths &lambda) const {
431431 // Compute raster and camera sample positions
432432 Point3f pFilm = Point3f (sample.pFilm .x , sample.pFilm .y , 0 );
@@ -527,7 +527,7 @@ PerspectiveCamera *PerspectiveCamera::Create(const ParameterDictionary ¶mete
527527 lensradius, focaldistance);
528528}
529529
530- SampledSpectrum PerspectiveCamera::We (const Ray &ray, SampledWavelengths &lambda,
530+ PBRT_CPU_GPU SampledSpectrum PerspectiveCamera::We (const Ray &ray, SampledWavelengths &lambda,
531531 Point2f *pRasterOut) const {
532532 // Check if ray is forward-facing with respect to the camera
533533 Float cosTheta = Dot (ray.d , RenderFromCamera (Vector3f (0 , 0 , 1 ), ray.time ));
@@ -555,7 +555,7 @@ SampledSpectrum PerspectiveCamera::We(const Ray &ray, SampledWavelengths &lambda
555555 return SampledSpectrum (1 / (A * lensArea * Pow<4 >(cosTheta)));
556556}
557557
558- void PerspectiveCamera::PDF_We (const Ray &ray, Float *pdfPos, Float *pdfDir) const {
558+ PBRT_CPU_GPU void PerspectiveCamera::PDF_We (const Ray &ray, Float *pdfPos, Float *pdfDir) const {
559559 // Return zero PDF values if ray direction is not front-facing
560560 Float cosTheta = Dot (ray.d , RenderFromCamera (Vector3f (0 , 0 , 1 ), ray.time ));
561561 if (cosTheta <= cosTotalWidth) {
@@ -581,7 +581,7 @@ void PerspectiveCamera::PDF_We(const Ray &ray, Float *pdfPos, Float *pdfDir) con
581581 *pdfDir = 1 / (A * Pow<3 >(cosTheta));
582582}
583583
584- pstd::optional<CameraWiSample> PerspectiveCamera::SampleWi (
584+ PBRT_CPU_GPU pstd::optional<CameraWiSample> PerspectiveCamera::SampleWi (
585585 const Interaction &ref, Point2f u, SampledWavelengths &lambda) const {
586586 // Uniformly sample a lens interaction _lensIntr_
587587 Point2f pLens = lensRadius * SampleUniformDiskConcentric (u);
@@ -607,7 +607,7 @@ pstd::optional<CameraWiSample> PerspectiveCamera::SampleWi(
607607}
608608
609609// SphericalCamera Method Definitions
610- pstd::optional<CameraRay> SphericalCamera::GenerateRay (CameraSample sample,
610+ PBRT_CPU_GPU pstd::optional<CameraRay> SphericalCamera::GenerateRay (CameraSample sample,
611611 SampledWavelengths &lambda) const {
612612 // Compute spherical camera ray direction
613613 Point2f uv (sample.pFilm .x / film.FullResolution ().x ,
@@ -746,7 +746,7 @@ RealisticCamera::RealisticCamera(CameraBaseParameters baseParameters,
746746 FindMinimumDifferentials (this );
747747}
748748
749- Float RealisticCamera::TraceLensesFromFilm (const Ray &rCamera, Ray *rOut) const {
749+ PBRT_CPU_GPU Float RealisticCamera::TraceLensesFromFilm (const Ray &rCamera, Ray *rOut) const {
750750 Float elementZ = 0 , weight = 1 ;
751751 // Transform _rCamera_ from camera to lens system space
752752 Ray rLens (Point3f (rCamera.o .x , rCamera.o .y , -rCamera.o .z ),
@@ -894,7 +894,7 @@ Bounds2f RealisticCamera::BoundExitPupil(Float filmX0, Float filmX1) const {
894894 return pupilBounds;
895895}
896896
897- pstd::optional<ExitPupilSample> RealisticCamera::SampleExitPupil (Point2f pFilm,
897+ PBRT_CPU_GPU pstd::optional<ExitPupilSample> RealisticCamera::SampleExitPupil (Point2f pFilm,
898898 Point2f uLens) const {
899899 // Find exit pupil bound for sample distance from film center
900900 Float rFilm = std::sqrt (Sqr (pFilm.x ) + Sqr (pFilm.y ));
@@ -916,7 +916,7 @@ pstd::optional<ExitPupilSample> RealisticCamera::SampleExitPupil(Point2f pFilm,
916916 return ExitPupilSample{pPupil, pdf};
917917}
918918
919- pstd::optional<CameraRay> RealisticCamera::GenerateRay (CameraSample sample,
919+ PBRT_CPU_GPU pstd::optional<CameraRay> RealisticCamera::GenerateRay (CameraSample sample,
920920 SampledWavelengths &lambda) const {
921921 // Find point on film, _pFilm_, corresponding to _sample.pFilm_
922922 Point2f s (sample.pFilm .x / film.FullResolution ().x ,
@@ -956,7 +956,7 @@ std::string RealisticCamera::LensElementInterface::ToString() const {
956956 curvatureRadius, thickness, eta, apertureRadius);
957957}
958958
959- Float RealisticCamera::TraceLensesFromScene (const Ray &rCamera, Ray *rOut) const {
959+ PBRT_CPU_GPU Float RealisticCamera::TraceLensesFromScene (const Ray &rCamera, Ray *rOut) const {
960960 Float elementZ = -LensFrontZ ();
961961 // Transform _rCamera_ from camera to lens system space
962962 const Transform LensFromCamera = Scale (1 , 1 , -1 );
0 commit comments