Skip to content

116 support all geometries gpu runner#148

Draft
jmaack24 wants to merge 28 commits into
developfrom
116-support-all-geometries---gpu-runner
Draft

116 support all geometries gpu runner#148
jmaack24 wants to merge 28 commits into
developfrom
116-support-all-geometries---gpu-runner

Conversation

@jmaack24

@jmaack24 jmaack24 commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Enable the following geometries within OptixRunner:

  • Flat Circle
  • Flat Hexagon
  • Flat Annulus
  • Parabola Circle
  • Parabola Hexagon
  • Parabola (general) Triangle
  • Parabola Annulus
  • Parabola Quadrilateral

If there is time, adding these would also be good

  • Cone Circle
  • Cone Hexagon
  • Cone (general) Triangle
  • Cone Rectangle
  • Cone Annulus
  • Cone Quadrilateral
  • Sphere Circle
  • Sphere Hexagon
  • Sphere (general) Triangle
  • Sphere Rectangle
  • Sphere Annulus
  • Sphere Quadrilateral

The following checklist for adding Surface/Aperture combination to the OptixRunner may be of use in the future. It is recommended to add the functions in the following order:

  1. Add needed OpticalEntityType (in OptixCSP/src/core/Soltrace.h)
  2. Add intersection function to IntersectionKernelMap in pipeline_manager.cpp
  3. Write intersection program (kernel) in intersection.cu. Function name must start with __intersection__ (note double underscores on both sides!!!)
  4. Add needed types and functions to GeometryDataST
  5. Add needed OptixCSP Aperture and Surface types in Aperture.h, Surface.h, and soltrace_type.h
  6. Add needed mapping to OpticalEntityType in GeometryManager::collect_geometry_info
  7. Add needed conversion code in CspElement::toDeviceGeometryData
  8. Add needed conversion code in OptixRunner::setup_elements
  9. Add some sort of test

@jmaack24 jmaack24 added this to the Beta-release milestone Jun 8, 2026
@jmaack24 jmaack24 self-assigned this Jun 8, 2026
@jmaack24 jmaack24 linked an issue Jun 8, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support all geometries - GPU Runner

1 participant