MaplyAtmosphere
Objective-C
@interface MaplyAtmosphere : NSObject
Swift
class MaplyAtmosphere : NSObject
Sets up the objects and shaders to implement an atmosphere.
This object sets up a shader implementation of the simple atmosphere from GPU Gems 2 http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter16.html
-
Initialize the view controller. Will place objects in that view controller.
Declaration
Objective-C
- (nullable instancetype)initWithViewC: (WhirlyGlobeViewController *_Nonnull)viewC;Swift
init?(viewC: WhirlyGlobeViewController) -
Rayleigh scattering constant (0.0025 by default)
Declaration
Objective-C
@property (nonatomic) float Kr;Swift
var kr: Float { get set } -
Mie scattering constant (0.0010 by default)
Declaration
Objective-C
@property (nonatomic) float Km;Swift
var km: Float { get set } -
Brightness of the sun (20.0 by default)
Declaration
Objective-C
@property (nonatomic) float ESun;Swift
var eSun: Float { get set } -
Number of samples for the ray through the atmosphere (3 by default)
Declaration
Objective-C
@property (nonatomic) int numSamples;Swift
var numSamples: Int32 { get set } -
Outer radius of the atmosphere (1.05 by default). Earth is radius 1.0.
Declaration
Objective-C
@property (nonatomic) float outerRadius;Swift
var outerRadius: Float { get set } -
Constant used in the fragment shader. Default is -0.95.
Declaration
Objective-C
@property (nonatomic) float g;Swift
var g: Float { get set } -
Exposure constant in fragment shader. Default is 2.0.
Declaration
Objective-C
@property (nonatomic) float exposure;Swift
var exposure: Float { get set } -
The ground shader we set up. You need to apply it yourself.
Declaration
Objective-C
@property (nonatomic, strong, nullable) MaplyShader *groundShader;Swift
var groundShader: MaplyShader? { get set } -
If set we’ll lock the sun direction to the camera position. Permanent daylight.
Declaration
Objective-C
@property (nonatomic) _Bool lockToCamera;Swift
var lockToCamera: Bool { get set } -
Wavelengths of the light (RGB). Three floats, defaults are: 0.650, 0.570, 0.475
Declaration
Objective-C
- (void)setWavelength:(float *_Nonnull)wavelength;Swift
func setWavelength(_ wavelength: UnsafeMutablePointer<Float>) -
Wavelengths of the light (RGB). Defaults are: 0.650, 0.570, 0.475
Declaration
Objective-C
- (void)setWavelengthRed:(float)redWavelength green:(float)greenWavelength blue:(float)blueWavelength;Swift
func setWavelengthRed(_ redWavelength: Float, green greenWavelength: Float, blue blueWavelength: Float) -
Return the current wavelength settings (RGB)
Declaration
Objective-C
- (void)getWavelength:(float *_Nonnull)wavelength;Swift
func getWavelength(_ wavelength: UnsafeMutablePointer<Float>) -
Return the current wavelength settings (RGB). The component is 0 for red, 1 for green and 2 for blue
Declaration
Objective-C
- (float)getWavelengthForComponent:(short)component;Swift
func getWavelengthForComponent(_ component: Int16) -> Float -
Set the sun’s position relative to the earth. This is what comes out of MaplySun.
Declaration
Objective-C
- (void)setSunPosition:(MaplyCoordinate3d)sunDir;Swift
func setSunPosition(_ sunDir: MaplyCoordinate3d) -
Remove objects from the view controller we set it up in.
Declaration
Objective-C
- (void)removeFromViewC;Swift
func removeFromViewC()
MaplyAtmosphere Class Reference