AGX Dynamics 2.42.1.1
Loading...
Searching...
No Matches
RaytraceAmbientMaterial.h
Go to the documentation of this file.
1/*
2Copyright 2007-2025. Algoryx Simulation AB.
3
4All AGX source code, intellectual property, documentation, sample code,
5tutorials, scene files and technical white papers, are copyrighted, proprietary
6and confidential material of Algoryx Simulation AB. You may not download, read,
7store, distribute, publish, copy or otherwise disseminate, use or expose this
8material unless having a written signed agreement with Algoryx Simulation AB, or having been
9advised so by Algoryx Simulation AB for a time limited evaluation, or having purchased a
10valid commercial license from Algoryx Simulation AB.
11
12Algoryx Simulation AB disclaims all responsibilities for loss or damage caused
13from using this software, unless otherwise stated in written agreements with
14Algoryx Simulation AB.
15*/
16
17#pragma once
19
20namespace agxSensor
21{
34 {
35 public:
36 static constexpr RtMaterialHandle::Type Type = RtMaterialHandle::Type::AMBIENT_ATMOSPHERE;
37
38 public:
40
41 public:
43
47 float getRefractiveIndex() const;
48
53 RtAmbientMaterial setRefractiveIndex( float refractiveIndex );
54
59
65
70
78
83
89
94
100
107
115 RtAmbientMaterial configureAsFog( float visibility, float wavelength,
116 float maritimeness = 0.0f );
117
125 RtAmbientMaterial configureAsRainfall( float rate, float tropicalness = 0.0f );
126
134 RtAmbientMaterial configureAsSnowfall( float rate, float wavelength );
135
136 public:
137 void store( agxStream::OutputArchive& out ) const;
139
140 private:
141 using RtMaterial::RtMaterial;
142 };
143}
#define AGXSENSOR_EXPORT
Ambient homogeneous atmospheric material attenuating the light and producing stochastic returns in th...
RtAmbientMaterial setReturnGammaDistributionShapeParameter(float k)
Assign new shape parameter of the atmospheric return gamma distribution.
RtAmbientMaterial configureAsSnowfall(float rate, float wavelength)
Configure the material parameters as light snowfall with the specified precipitation rate.
float getReturnGammaDistributionScaleParameter() const
RtAmbientMaterial configureAsRainfall(float rate, float tropicalness=0.0f)
Configure the material parameters as rainfall with the specified precipitation rate.
RtAmbientMaterial setRefractiveIndex(float refractiveIndex)
Assign new refractive index to the material.
float getReturnProbabilityScaling() const
float getAttenuationCoefficient() const
RtAmbientMaterial setAttenuationCoefficient(float alpha)
Assign new attenuation coefficient to the material.
static RtAmbientMaterial create()
void restore(agxStream::InputArchive &in)
float getReturnGammaDistributionShapeParameter() const
RtAmbientMaterial setReturnGammaDistributionScaleParameter(float theta)
Assign new scale parameter of the atmospheric return gamma distribution.
RtAmbientMaterial configureAsFog(float visibility, float wavelength, float maritimeness=0.0f)
Configure the material parameters as foggy weather with the specified visibility.
RtAmbientMaterial configureAsAir(float visibility)
Configure the material parameters as clear weather air with the specified visibility.
RtAmbientMaterial setReturnProbabilityScaling(float A)
Assign new scaling of the atmospheric return probability.
float getRefractiveIndex() const
RtAmbientMaterial(RtMaterialInstance instance)
void store(agxStream::OutputArchive &out) const
Base type for all surface, and transmission, materials used in raytracing.
Class for reading a binary stream of serialized data.
Definition: InputArchive.h:51
Class for writing serialized data in binary format to a stream.
Definition: OutputArchive.h:57
The agxSensor namespace contains components to model real-time sensors connected to the physics of AG...
Material instance in the raytrace environment, containing handle and type.