public class SCNRenderer extends NSObject implements SCNSceneRenderer, SCNTechniqueSupport
SCNRenderer lets you use the SceneKit renderer in an OpenGL context or Metal render pass descriptor of your own.
NSObject.Function_instanceMethodForSelector_ret, NSObject.Function_methodForSelector_retSCNSceneRenderer.Block_prepareObjectShouldAbortBlock, SCNSceneRenderer.Block_prepareObjectsWithCompletionHandler, SCNSceneRenderer.Block_presentSceneWithTransitionIncomingPointOfViewCompletionHandler| Modifier | Constructor and Description |
|---|---|
protected |
SCNRenderer(org.moe.natj.general.Pointer peer) |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
accessInstanceVariablesDirectly() |
static SCNRenderer |
alloc() |
static SCNRenderer |
allocWithZone(org.moe.natj.general.ptr.VoidPtr zone) |
AVAudioEngine |
audioEngine()
[@property] audioEngine
|
AVAudioEnvironmentNode |
audioEnvironmentNode()
[@property] audioEnvironmentNode
|
SCNNode |
audioListener()
[@property] audioListener
|
boolean |
autoenablesDefaultLighting()
[@property] autoenablesDefaultLighting
|
static boolean |
automaticallyNotifiesObserversForKey(java.lang.String key) |
static void |
cancelPreviousPerformRequestsWithTarget(java.lang.Object aTarget) |
static void |
cancelPreviousPerformRequestsWithTargetSelectorObject(java.lang.Object aTarget,
org.moe.natj.objc.SEL aSelector,
java.lang.Object anArgument) |
static NSArray<java.lang.String> |
classFallbacksForKeyedArchiver() |
static org.moe.natj.objc.Class |
classForKeyedUnarchiver() |
long |
colorPixelFormat()
[@property] colorPixelFormat
|
MTLCommandQueue |
commandQueue()
[@property] commandQueue
|
org.moe.natj.general.ptr.VoidPtr |
context()
[@property] context
|
MTLRenderCommandEncoder |
currentRenderCommandEncoder()
[@property] currentRenderCommandEncoder
|
MTLRenderPassDescriptor |
currentRenderPassDescriptor()
[@property] currentRenderPassDescriptor
|
CGRect |
currentViewport()
[@property] currentViewport
|
static java.lang.String |
debugDescription_static() |
long |
debugOptions()
[@property] debugOptions
|
java.lang.Object |
delegate()
[@property] delegate
|
long |
depthPixelFormat()
[@property] depthPixelFormat
|
static java.lang.String |
description_static() |
MTLDevice |
device()
[@property] device
|
static long |
hash_static() |
NSArray<? extends SCNHitTestResult> |
hitTestOptions(CGPoint point,
NSDictionary<java.lang.String,?> options)
hitTest:options:
|
SCNRenderer |
init() |
static NSObject.Function_instanceMethodForSelector_ret |
instanceMethodForSelector(org.moe.natj.objc.SEL aSelector) |
static NSMethodSignature |
instanceMethodSignatureForSelector(org.moe.natj.objc.SEL aSelector) |
static boolean |
instancesRespondToSelector(org.moe.natj.objc.SEL aSelector) |
boolean |
isJitteringEnabled()
[@property] jitteringEnabled
|
boolean |
isNodeInsideFrustumWithPointOfView(SCNNode node,
SCNNode pointOfView)
isNodeInsideFrustum:withPointOfView:
|
boolean |
isPlaying()
[@property] playing
|
static boolean |
isSubclassOfClass(org.moe.natj.objc.Class aClass) |
boolean |
isTemporalAntialiasingEnabled()
[@property] temporalAntialiasingEnabled
|
static NSSet<java.lang.String> |
keyPathsForValuesAffectingValueForKey(java.lang.String key) |
boolean |
loops()
[@property] loops
|
static SCNRenderer |
new_objc() |
double |
nextFrameTime()
[@property] nextFrameTime
|
NSArray<? extends SCNNode> |
nodesInsideFrustumWithPointOfView(SCNNode pointOfView)
nodesInsideFrustumWithPointOfView:
|
SKScene |
overlaySKScene()
[@property] overlaySKScene
|
SCNNode |
pointOfView()
[@property] pointOfView
|
boolean |
prepareObjectShouldAbortBlock(java.lang.Object object,
SCNSceneRenderer.Block_prepareObjectShouldAbortBlock block)
prepareObject:shouldAbortBlock:
|
void |
prepareObjectsWithCompletionHandler(NSArray<?> objects,
SCNSceneRenderer.Block_prepareObjectsWithCompletionHandler completionHandler)
prepareObjects:withCompletionHandler:
|
void |
presentSceneWithTransitionIncomingPointOfViewCompletionHandler(SCNScene scene,
SKTransition transition,
SCNNode pointOfView,
SCNSceneRenderer.Block_presentSceneWithTransitionIncomingPointOfViewCompletionHandler completionHandler)
presentScene:withTransition:incomingPointOfView:
|
SCNVector3 |
projectPoint(SCNVector3 point)
projectPoint
|
void |
render()
Deprecated.
|
void |
renderAtTime(double time)
renderAtTime:
|
void |
renderAtTimeViewportCommandBufferPassDescriptor(double time,
CGRect viewport,
MTLCommandBuffer commandBuffer,
MTLRenderPassDescriptor renderPassDescriptor)
renderAtTime:viewport:commandBuffer:passDescriptor:
|
static SCNRenderer |
rendererWithContextOptions(EAGLContext context,
NSDictionary<?,?> options)
rendererWithContext:options:
|
static SCNRenderer |
rendererWithDeviceOptions(MTLDevice device,
NSDictionary<?,?> options)
rendererWithDevice:options:
|
long |
renderingAPI()
[@property] renderingAPI
|
void |
renderWithViewportCommandBufferPassDescriptor(CGRect viewport,
MTLCommandBuffer commandBuffer,
MTLRenderPassDescriptor renderPassDescriptor)
renderWithViewport:viewport:commandBuffer:passDescriptor:
|
static boolean |
resolveClassMethod(org.moe.natj.objc.SEL sel) |
static boolean |
resolveInstanceMethod(org.moe.natj.objc.SEL sel) |
SCNScene |
scene()
[@property] scene
|
double |
sceneTime()
[@property] sceneTime
|
void |
setAudioListener(SCNNode value)
[@property] audioListener
|
void |
setAutoenablesDefaultLighting(boolean value)
[@property] autoenablesDefaultLighting
|
void |
setDebugOptions(long value)
[@property] debugOptions
|
void |
setDelegate_unsafe(java.lang.Object value)
[@property] delegate
|
void |
setDelegate(java.lang.Object value) |
void |
setJitteringEnabled(boolean value)
[@property] jitteringEnabled
|
void |
setLoops(boolean value)
[@property] loops
|
void |
setOverlaySKScene(SKScene value)
[@property] overlaySKScene
|
void |
setPlaying(boolean value)
[@property] playing
|
void |
setPointOfView(SCNNode value)
[@property] pointOfView
|
void |
setScene(SCNScene value)
[@property] scene
|
void |
setSceneTime(double value)
[@property] sceneTime
|
void |
setShowsStatistics(boolean value)
[@property] showsStatistics
|
void |
setTechnique(SCNTechnique value)
[@property] technique
|
void |
setTemporalAntialiasingEnabled(boolean value)
[@property] temporalAntialiasingEnabled
|
void |
setUsesReverseZ(boolean value)
[@property] usesReverseZ
|
static void |
setVersion_static(long aVersion) |
boolean |
showsStatistics()
[@property] showsStatistics
|
UIImage |
snapshotAtTimeWithSizeAntialiasingMode(double time,
CGSize size,
long antialiasingMode)
snapshotAtTime:withSize:antialiasingMode:
|
long |
stencilPixelFormat()
[@property] stencilPixelFormat
|
static org.moe.natj.objc.Class |
superclass_static() |
SCNTechnique |
technique()
[@property] technique
|
SCNVector3 |
unprojectPoint(SCNVector3 point)
unprojectPoint
|
void |
updateAtTime(double time)
updateAtTime:
|
void |
updateProbesAtTime(NSArray<? extends SCNNode> lightProbes,
double time)
updateProbes:atTime:
|
boolean |
usesReverseZ()
[@property] usesReverseZ
|
static long |
version_static() |
accessibilityActivate, accessibilityActivationPoint, accessibilityAssistiveTechnologyFocusedIdentifiers, accessibilityAttributedHint, accessibilityAttributedLabel, accessibilityAttributedUserInputLabels, accessibilityAttributedValue, accessibilityContainerType, accessibilityCustomActions, accessibilityCustomRotors, accessibilityDecrement, accessibilityDragSourceDescriptors, accessibilityDropPointDescriptors, accessibilityElementAtIndex, accessibilityElementCount, accessibilityElementDidBecomeFocused, accessibilityElementDidLoseFocus, accessibilityElementIsFocused, accessibilityElements, accessibilityElementsHidden, accessibilityFrame, accessibilityHint, accessibilityIncrement, accessibilityLabel, accessibilityLanguage, accessibilityNavigationStyle, accessibilityPath, accessibilityPerformEscape, accessibilityPerformMagicTap, accessibilityRespondsToUserInteraction, accessibilityScroll, accessibilityTextualContext, accessibilityTraits, accessibilityUserInputLabels, accessibilityValue, accessibilityViewIsModal, addObserverForKeyPathOptionsContext, attemptRecoveryFromErrorOptionIndex, attemptRecoveryFromErrorOptionIndexDelegateDidRecoverSelectorContextInfo, autoContentAccessingProxy, awakeAfterUsingCoder, awakeFromNib, class_objc, classForCoder, classForKeyedArchiver, copy, dealloc, debugDescription, description, dictionaryWithValuesForKeys, didChangeValueForKey, didChangeValueForKeyWithSetMutationUsingObjects, didChangeValuesAtIndexesForKey, doesNotRecognizeSelector, fileManagerShouldProceedAfterError, fileManagerWillProcessPath, finalize_objc, forwardingTargetForSelector, forwardInvocation, hash, indexOfAccessibilityElement, isAccessibilityElement, isEqual, isKindOfClass, isMemberOfClass, isProxy, methodForSelector, methodSignatureForSelector, mutableArrayValueForKey, mutableArrayValueForKeyPath, mutableCopy, mutableOrderedSetValueForKey, mutableOrderedSetValueForKeyPath, mutableSetValueForKey, mutableSetValueForKeyPath, observationInfo, observeValueForKeyPathOfObjectChangeContext, performSelector, performSelectorInBackgroundWithObject, performSelectorOnMainThreadWithObjectWaitUntilDone, performSelectorOnMainThreadWithObjectWaitUntilDoneModes, performSelectorOnThreadWithObjectWaitUntilDone, performSelectorOnThreadWithObjectWaitUntilDoneModes, performSelectorWithObject, performSelectorWithObjectAfterDelay, performSelectorWithObjectAfterDelayInModes, performSelectorWithObjectWithObject, prepareForInterfaceBuilder, provideImageDataBytesPerRowOrigin_Size_UserInfo, removeObserverForKeyPath, removeObserverForKeyPathContext, replacementObjectForCoder, replacementObjectForKeyedArchiver, respondsToSelector, self, setAccessibilityActivationPoint, setAccessibilityAttributedHint, setAccessibilityAttributedLabel, setAccessibilityAttributedUserInputLabels, setAccessibilityAttributedValue, setAccessibilityContainerType, setAccessibilityCustomActions, setAccessibilityCustomRotors, setAccessibilityDragSourceDescriptors, setAccessibilityDropPointDescriptors, setAccessibilityElements, setAccessibilityElementsHidden, setAccessibilityFrame, setAccessibilityHint, setAccessibilityLabel, setAccessibilityLanguage, setAccessibilityNavigationStyle, setAccessibilityPath, setAccessibilityRespondsToUserInteraction, setAccessibilityTextualContext, setAccessibilityTraits, setAccessibilityUserInputLabels, setAccessibilityValue, setAccessibilityViewIsModal, setIsAccessibilityElement, setNilValueForKey, setObservationInfo, setShouldGroupAccessibilityChildren, setValueForKey, setValueForKeyPath, setValueForUndefinedKey, setValuesForKeysWithDictionary, shouldGroupAccessibilityChildren, superclass, validateValueForKeyError, validateValueForKeyPathError, valueForKey, valueForKeyPath, valueForUndefinedKey, willChangeValueForKey, willChangeValueForKeyWithSetMutationUsingObjects, willChangeValuesAtIndexesForKeypublic static boolean accessInstanceVariablesDirectly()
public static SCNRenderer alloc()
public static SCNRenderer allocWithZone(org.moe.natj.general.ptr.VoidPtr zone)
public static boolean automaticallyNotifiesObserversForKey(java.lang.String key)
public static void cancelPreviousPerformRequestsWithTarget(java.lang.Object aTarget)
public static void cancelPreviousPerformRequestsWithTargetSelectorObject(java.lang.Object aTarget,
org.moe.natj.objc.SEL aSelector,
java.lang.Object anArgument)
public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
public static org.moe.natj.objc.Class classForKeyedUnarchiver()
public static java.lang.String debugDescription_static()
public static java.lang.String description_static()
public static long hash_static()
public static NSObject.Function_instanceMethodForSelector_ret instanceMethodForSelector(org.moe.natj.objc.SEL aSelector)
public static NSMethodSignature instanceMethodSignatureForSelector(org.moe.natj.objc.SEL aSelector)
public static boolean instancesRespondToSelector(org.moe.natj.objc.SEL aSelector)
public static boolean isSubclassOfClass(org.moe.natj.objc.Class aClass)
public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey(java.lang.String key)
public static SCNRenderer new_objc()
public static SCNRenderer rendererWithContextOptions(EAGLContext context, NSDictionary<?,?> options)
Creates a new renderer object.
context - The context to render into.options - An optional dictionary for future extensions.public static SCNRenderer rendererWithDeviceOptions(MTLDevice device, NSDictionary<?,?> options)
Creates a new renderer object that renders using Metal.
device - The metal device to use. Pass nil to let SceneKit choose a default device.options - An optional dictionary for future extensions.public static boolean resolveClassMethod(org.moe.natj.objc.SEL sel)
public static boolean resolveInstanceMethod(org.moe.natj.objc.SEL sel)
public static void setVersion_static(long aVersion)
public static org.moe.natj.objc.Class superclass_static()
public static long version_static()
public AVAudioEngine audioEngine()
SCNSceneRendererContains the instance of audio engine used by the scene.
The audio engine can be used to add custom nodes to the audio graph.
audioEngine in interface SCNSceneRendererpublic AVAudioEnvironmentNode audioEnvironmentNode()
SCNSceneRendererContains the instance of audio environment node used by the scene to spacialize sounds.
audioEnvironmentNode in interface SCNSceneRendererpublic SCNNode audioListener()
SCNSceneRendererUse this property to set the audio node to use as the listener position and orientation when rendering positional audio for this scene. The default is nil which means that the current point of view will be used dynamically.
audioListener in interface SCNSceneRendererpublic boolean autoenablesDefaultLighting()
SCNSceneRendererSpecifies whether the receiver should automatically light up scenes that have no light source. The default is NO.
When enabled, a diffuse light is automatically added and placed while rendering scenes that have no light or only ambient lights.
autoenablesDefaultLighting in interface SCNSceneRendererpublic long colorPixelFormat()
SCNSceneRendererThe pixel format of the color attachment 0 of the renderer. This property is only valid on a renderer created with a Metal device.
colorPixelFormat in interface SCNSceneRendererpublic MTLCommandQueue commandQueue()
SCNSceneRendererThe command queue of the renderer. This property is only valid on a renderer created with a Metal device. Otherwise it is set to nil.
commandQueue in interface SCNSceneRendererpublic org.moe.natj.general.ptr.VoidPtr context()
SCNSceneRendererA Core OpenGL render context that is used as the render target (a CGLContextObj on macOS, an EAGLContext on iOS).
context in interface SCNSceneRendererpublic MTLRenderCommandEncoder currentRenderCommandEncoder()
SCNSceneRendererThe current render command encoder if any. This property is only valid within the SCNSceneRendererDelegate methods and when rendering with Metal. Otherwise it is set to nil.
currentRenderCommandEncoder in interface SCNSceneRendererpublic long debugOptions()
SCNSceneRendererSpecifies the debug options of the receiver. Defaults to SCNDebugOptionNone.
debugOptions in interface SCNSceneRendererpublic java.lang.Object delegate()
SCNSceneRendererSpecifies the renderer delegate.
delegate in interface SCNSceneRendererpublic long depthPixelFormat()
SCNSceneRendererThe pixel format of the depth attachment of the renderer. This property is only valid on a renderer created with a Metal device.
depthPixelFormat in interface SCNSceneRendererpublic MTLDevice device()
SCNSceneRendererThe metal device of the renderer. This property is only valid on a renderer created with a Metal device. Otherwise it is set to nil.
device in interface SCNSceneRendererpublic NSArray<? extends SCNHitTestResult> hitTestOptions(CGPoint point, NSDictionary<java.lang.String,?> options)
SCNSceneRendererReturns an array of SCNHitTestResult for each node that contains a specified point.
hitTestOptions in interface SCNSceneRendererpoint - A point in the coordinate system of the receiver.options - Optional parameters (see the "Hit test options" group for the available options).public SCNRenderer init()
public boolean isJitteringEnabled()
SCNSceneRendererSpecifies whether the receiver should jitter the rendered scene to reduce aliasing artifacts.
When enabled, the jittering is performed asynchronously and automatically by SCNView and SCNLayer. It is done synchronously by SCNRenderer.
isJitteringEnabled in interface SCNSceneRendererpublic void setJitteringEnabled(boolean value)
SCNSceneRendererSpecifies whether the receiver should jitter the rendered scene to reduce aliasing artifacts.
When enabled, the jittering is performed asynchronously and automatically by SCNView and SCNLayer. It is done synchronously by SCNRenderer.
setJitteringEnabled in interface SCNSceneRendererpublic boolean isNodeInsideFrustumWithPointOfView(SCNNode node, SCNNode pointOfView)
SCNSceneRendererTest whether node is visible from the specified point of view.
Return YES if the node is inside or intersects the clipping planes of the point of view. This method doesn't test if 'node' is occluded by another node.
isNodeInsideFrustumWithPointOfView in interface SCNSceneRenderernode - The node to test the visibility of.pointOfView - The point of view used to test the visibility.public boolean isPlaying()
SCNSceneRendererReturns YES if the scene is playing, NO otherwise.
isPlaying in interface SCNSceneRendererpublic void setPlaying(boolean value)
SCNSceneRendererReturns YES if the scene is playing, NO otherwise.
setPlaying in interface SCNSceneRendererpublic boolean loops()
SCNSceneRendererIndicates whether the receiver restarts playback when it reaches the end of its content. Default: YES.
YES when the receiver restarts playback when it finishes, NO otherwise.
loops in interface SCNSceneRendererpublic double nextFrameTime()
Returns the time at which the next update should happen. If infinite no update needs to be scheduled yet. If the current frame time, a continuous animation is running and an update should be scheduled after a "natural" delay.
public NSArray<? extends SCNNode> nodesInsideFrustumWithPointOfView(SCNNode pointOfView)
SCNSceneRendererReturns an array containing the nodes visible from the specified point of view.
Returns an array of all the nodes that are inside or intersects the clipping planes of the point of view. Starting in macOS10.13/iOS11 this method work with the presentation tree.
nodesInsideFrustumWithPointOfView in interface SCNSceneRendererpointOfView - The point of view used to test the visibility.public SKScene overlaySKScene()
SCNSceneRendererSpecifies the overlay of the receiver as a SpriteKit scene instance. Defaults to nil.
overlaySKScene in interface SCNSceneRendererpublic SCNNode pointOfView()
SCNSceneRendererSpecifies the point of view used to render the scene.
A point of view must have either a camera or a spot light attached.
pointOfView in interface SCNSceneRendererpublic boolean prepareObjectShouldAbortBlock(java.lang.Object object,
SCNSceneRenderer.Block_prepareObjectShouldAbortBlock block)
SCNSceneRendererPrepare the specified object for drawing.
Returns YES if the object was prepared successfully, NO if it was canceled. This method may be triggered from a secondary thread. This method is observable using NSProgress.
prepareObjectShouldAbortBlock in interface SCNSceneRendererobject - The object to prepare. It can be an instance of SCNScene, SCNNode, SCNGeometry, or SCNMaterialblock - This block will be called repeatedly while the object is prepared. Return YES if you want the operation to abort.public void prepareObjectsWithCompletionHandler(NSArray<?> objects, SCNSceneRenderer.Block_prepareObjectsWithCompletionHandler completionHandler)
SCNSceneRendererPrepare the specified objects for drawing on the background.
This method is observable using NSProgress.
prepareObjectsWithCompletionHandler in interface SCNSceneRendererobjects - The objects to prepare. It can be one or more instances of SCNScene, SCNNode, SCNGeometry, or SCNMaterialcompletionHandler - This block will be called when all objects has been prepared, or on failure.public void presentSceneWithTransitionIncomingPointOfViewCompletionHandler(SCNScene scene, SKTransition transition, SCNNode pointOfView, SCNSceneRenderer.Block_presentSceneWithTransitionIncomingPointOfViewCompletionHandler completionHandler)
SCNSceneRendererPresent a SCNScene in the receiver, replacing the current scene.
presentSceneWithTransitionIncomingPointOfViewCompletionHandler in interface SCNSceneRendererscene - The new scene to present.transition - the transition to use when presenting the scene.pointOfView - the point of view to use to render the new scene.completionHandler - the block invoked on completion.public SCNVector3 projectPoint(SCNVector3 point)
SCNSceneRendererProjects a point in the world coordinate system using the receiver's current point of view and viewport.
A point projected from the near (resp. far) clip plane will have a z component of 0 (resp. 1). Starting in macOS 11.0, iOS 14, tvOS 14 and watchOS 7 the range of z component will be reversed (from 1 to 0) if the receiver uses 'reverseZ'.
projectPoint in interface SCNSceneRendererpoint - The world position to be projected.@Deprecated public void render()
render
renders the receiver's scene at the current system time.
This method only work if the receiver was allocated with an OpenGL context and it is deprecated (use renderAtTime: instead). Use renderAtTime:withEncoder:pass:commandQueue: to render with Metal.
public void renderAtTime(double time)
updates and renders the receiver's scene at the specified time (system time).
This method only work if the receiver was allocated with an OpenGL context. Use renderAtTime:withEncoder:pass:commandQueue: to render with Metal.
public void renderAtTimeViewportCommandBufferPassDescriptor(double time,
CGRect viewport,
MTLCommandBuffer commandBuffer,
MTLRenderPassDescriptor renderPassDescriptor)
updates and renders the receiver's scene at the specified time (system time) viewport, Metal command buffer and pass descriptor.
Use this method to render using Metal.
public long renderingAPI()
SCNSceneRendererSpecifies the rendering API associated to the receiver.
This is the rendering API effectively used by the receiver. You can specify a preferred rendering API when initializing a view programmatically (see SCNPreferredRenderingAPI in SCNSceneRenderer.h) or using Interface Builder's SCNView inspector.
renderingAPI in interface SCNSceneRendererpublic SCNScene scene()
SCNSceneRendererSpecifies the scene of the receiver.
scene in interface SCNSceneRendererpublic double sceneTime()
SCNSceneRendererSpecifies the current "scene time" to display the scene.
The scene time only affect scene time based animations (see SCNAnimation.h "usesSceneTimeBase" and SCNSceneSource.h "SCNSceneSourceAnimationImportPolicyKey" for how to create scene time based animations). Scene time based animations and this property are typically used by tools and viewer to ease seeking in time while previewing a scene.
sceneTime in interface SCNSceneRendererpublic void setAudioListener(SCNNode value)
SCNSceneRendererUse this property to set the audio node to use as the listener position and orientation when rendering positional audio for this scene. The default is nil which means that the current point of view will be used dynamically.
setAudioListener in interface SCNSceneRendererpublic void setAutoenablesDefaultLighting(boolean value)
SCNSceneRendererSpecifies whether the receiver should automatically light up scenes that have no light source. The default is NO.
When enabled, a diffuse light is automatically added and placed while rendering scenes that have no light or only ambient lights.
setAutoenablesDefaultLighting in interface SCNSceneRendererpublic void setDebugOptions(long value)
SCNSceneRendererSpecifies the debug options of the receiver. Defaults to SCNDebugOptionNone.
setDebugOptions in interface SCNSceneRendererpublic void setDelegate_unsafe(java.lang.Object value)
SCNSceneRendererSpecifies the renderer delegate.
setDelegate_unsafe in interface SCNSceneRendererpublic void setDelegate(java.lang.Object value)
public void setLoops(boolean value)
SCNSceneRendererIndicates whether the receiver restarts playback when it reaches the end of its content. Default: YES.
YES when the receiver restarts playback when it finishes, NO otherwise.
setLoops in interface SCNSceneRendererpublic void setOverlaySKScene(SKScene value)
SCNSceneRendererSpecifies the overlay of the receiver as a SpriteKit scene instance. Defaults to nil.
setOverlaySKScene in interface SCNSceneRendererpublic void setPointOfView(SCNNode value)
SCNSceneRendererSpecifies the point of view used to render the scene.
A point of view must have either a camera or a spot light attached.
setPointOfView in interface SCNSceneRendererpublic void setScene(SCNScene value)
SCNSceneRendererSpecifies the scene of the receiver.
setScene in interface SCNSceneRendererpublic void setSceneTime(double value)
SCNSceneRendererSpecifies the current "scene time" to display the scene.
The scene time only affect scene time based animations (see SCNAnimation.h "usesSceneTimeBase" and SCNSceneSource.h "SCNSceneSourceAnimationImportPolicyKey" for how to create scene time based animations). Scene time based animations and this property are typically used by tools and viewer to ease seeking in time while previewing a scene.
setSceneTime in interface SCNSceneRendererpublic void setShowsStatistics(boolean value)
SCNSceneRendererDetermines whether the receiver should display statistics info like FPS. Defaults to NO.
When set to YES, statistics are displayed in a overlay on top of the rendered scene.
setShowsStatistics in interface SCNSceneRendererpublic void setTechnique(SCNTechnique value)
SCNTechniqueSupportSpecifies the technique of the receiver. Defaults to nil.
setTechnique in interface SCNTechniqueSupportpublic boolean showsStatistics()
SCNSceneRendererDetermines whether the receiver should display statistics info like FPS. Defaults to NO.
When set to YES, statistics are displayed in a overlay on top of the rendered scene.
showsStatistics in interface SCNSceneRendererpublic UIImage snapshotAtTimeWithSizeAntialiasingMode(double time, CGSize size, long antialiasingMode)
renders the receiver's scene at the specified time (system time) into an image.
public long stencilPixelFormat()
SCNSceneRendererThe pixel format of the stencil attachment of the renderer. This property is only valid on a renderer created with a Metal device.
stencilPixelFormat in interface SCNSceneRendererpublic SCNTechnique technique()
SCNTechniqueSupportSpecifies the technique of the receiver. Defaults to nil.
technique in interface SCNTechniqueSupportpublic SCNVector3 unprojectPoint(SCNVector3 point)
SCNSceneRendererUnprojects a screenspace 2D point with depth info using the receiver's current point of view and viewport.
A point whose z component is 0 (resp. 1) is unprojected on the near (resp. far) clip plane. Starting in macOS 11.0, iOS 14, tvOS 14 and watchOS 7 the range of the z component will be reversed (from 1 to 0) if the receiver uses 'reverseZ'.
unprojectPoint in interface SCNSceneRendererpoint - The screenspace position to be unprojected.public void updateProbesAtTime(NSArray<? extends SCNNode> lightProbes, double time)
Update the specified probes by computing their incoming irradiance in the receiver's scene at the specified time.
Light probes are only supported with Metal. This method is observable using NSProgress.
lightProbes - An array of nodes that must have a light probe attached.time - The time used to render the scene when computing the light probes irradiance.public void renderWithViewportCommandBufferPassDescriptor(CGRect viewport, MTLCommandBuffer commandBuffer, MTLRenderPassDescriptor renderPassDescriptor)
renders the receiver's scene with the specified viewport, Metal command buffer and pass descriptor.
Use this method to render using Metal. This method doesn't update the scene's animations, physics, particles etc... It's up to you to call "updateAtTime:" to update the scene.
public void updateAtTime(double time)
updates the receiver's scene at the specified time (system time).
public CGRect currentViewport()
SCNSceneRendererReturns the current viewport for this renderer, can be used to get the actual viewport from within the delegate callback during a live resize.
currentViewport in interface SCNSceneRendererpublic boolean isTemporalAntialiasingEnabled()
SCNSceneRendererSpecifies whether the receiver should reduce aliasing artifacts in real time based on temporal coherency. Defaults to NO.
isTemporalAntialiasingEnabled in interface SCNSceneRendererpublic void setTemporalAntialiasingEnabled(boolean value)
SCNSceneRendererSpecifies whether the receiver should reduce aliasing artifacts in real time based on temporal coherency. Defaults to NO.
setTemporalAntialiasingEnabled in interface SCNSceneRendererpublic void setUsesReverseZ(boolean value)
SCNSceneRendererSpecifies if the renderer should use the reverse Z technique. Defaults to YES.
This property is only valid on a renderer created with a Metal device.
setUsesReverseZ in interface SCNSceneRendererpublic boolean usesReverseZ()
SCNSceneRendererSpecifies if the renderer should use the reverse Z technique. Defaults to YES.
This property is only valid on a renderer created with a Metal device.
usesReverseZ in interface SCNSceneRendererpublic MTLRenderPassDescriptor currentRenderPassDescriptor()
SCNSceneRendererThe render pass descriptor of the receiver. This property is only valid within the SCNSceneRendererDelegate methods and when rendering with Metal. Otherwise it is set to nil.
currentRenderPassDescriptor in interface SCNSceneRenderer