chrono::sensor::MetalSceneLight Struct Reference

Description

A light in the Metal render scene, in the packed form the GPU consumes.

This is the Metal analogue of ChOptixLight. It is deliberately NOT ChOptixLight: that struct is built from CUDA vector types (float3, cudaTextureObject_t, curand state), so reusing it would drag the CUDA toolchain into a Metal-only build. The public setters above convert into this form, so the difference is invisible to simulation code.

#include <ChMetalRTScene.h>

Collaboration diagram for chrono::sensor::MetalSceneLight:

Public Attributes

ChVector3f pos
 world position (point/spot); for directional, the light TRAVEL direction
 
float range
 max_range (point/spot falloff; 0 = none)
 
ChColor color
 color * intensity
 
int type
 0 = point, 1 = directional, 2 = spot, 3 = disk, 4 = rectangle
 
ChVector3f dir {0, 0, -1}
 spot axis / disk normal / rectangle edge-1
 
float cosOuter = -1.f
 spot: angle_range (full cone, rad) | rect: edge-2 .x
 
float cosInner = -1.f
 spot: angle_atten_rate | rect: edge-2 .y
 
float p0 = 0.f
 disk: radius | rect: edge-2 .z
 
bool const_color = true
 constant colour (no distance attenuation)
 

The documentation for this struct was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono_sensor/metal/ChMetalRTScene.h