KudanAR - iOS  1.6.0
ARRenderer Class Reference

#import <ARRenderer.h>

Inherits NSObject.

Public Types

enum  ARFaceCullMode { ARFaceCullModeDisabled, ARFaceCullModeBack, ARFaceCullModeFront, ARFaceCullModeFrontAndBack }
 
enum  ARBlendMode { ARBlendModeDisabled, ARBlendModeAdditive, ARBlendModeAlphaAdditive, ARBlendModePreMultiplyAlpha }
 
enum  ARRendererState { ARRendererStateUninitialised, ARRendererStatePaused, ARRendererStateRunning }
 

Instance Methods

(void) - useContext
 
(void) - addDelegate:
 
(void) - removeDelegate:
 
(void) - addRenderTarget:
 
(void) - removeRenderTarget:
 
(void) - initialise
 
(void) - deinitialise
 
(void) - pause
 
(void) - resume
 

Class Methods

(ARRenderer *) + getInstance
 

Properties

ARRendererState rendererState
 
NSTimeInterval currentFrameTime
 
NSArray * renderTargets
 

Detailed Description

A class used for rendering the camera image and AR content on screen.

Member Enumeration Documentation

◆ ARBlendMode

- (enum) ARBlendMode

Blending modes for transparency. Different modes will provide greater graphical fidelity at the cost of performance. Available modes are:

Enumerator
ARBlendModeDisabled 

ARBlendModeDisabled** - Disable Blending, no transparency.

ARBlendModeAdditive 

ARBlendModeAdditive** - Additive Blending.

ARBlendModeAlphaAdditive 

ARBlendModeAlphaAdditive** - Alpha Additive Blending.

ARBlendModePreMultiplyAlpha 

ARBlendModePreMultiplyAlpha** - Premultiplied Alpha Blending.

◆ ARFaceCullMode

- (enum) ARFaceCullMode

Polygon Face culling modes. These are useful for improving performance by not rendering certain types of polygon when they aren't visible. Available modes are:

Enumerator
ARFaceCullModeDisabled 

Don't cull any polygons.

ARFaceCullModeBack 

Cull only back-facing polygons.

ARFaceCullModeFront 

Cull only front-facing polygons.

ARFaceCullModeFrontAndBack 

Cull all polygons.

◆ ARRendererState

- (enum) ARRendererState

The current state of the renderer. Possible states are:

Enumerator
ARRendererStateUninitialised 

ARRendererStateUninitialised** - The renderer has not yet been initialised and is unusable.

ARRendererStatePaused 

ARRendererStatePaused** - The renderer is paused and will not render new frames.

ARRendererStateRunning 

ARRendererStateRunning** - The renderer is active and will draw frames.

Method Documentation

◆ addDelegate:

- (void) addDelegate: (id< ARRendererDelegate >)  delegate

Add a delegate for rendering event notifications.

Example of use:

[[ARRenderer getInstance] addDelegate:self];
Parameters
delegateThe delegate to add.

◆ addRenderTarget:

- (void) addRenderTarget: (ARRenderTarget *)  renderTarget

Add a render target to the renderer. This is required if render targets are to be automatically drawn each frame.

Example of use:

// self.renderTarget - A previously created ARRenderTarget.
[[ARRenderer getInstance] addRenderTarget:self.renderTarget];
Parameters
renderTargetThe render target to add.

◆ deinitialise

- (void) deinitialise

Deinitialise the renderer. This is usually called automatically. It is not recommended to call this method manually. Changes the ARRendererState to ARRendererStateUninitialised.

Example of use:

◆ getInstance

+ (ARRenderer *) getInstance

Get the ARRenderer singleton.

Example of use:

Returns
The singleton instance.

◆ initialise

- (void) initialise

Initialise the renderer. This should be called automatically. It is not recommended to call this method manually.

Example of use:

◆ pause

- (void) pause

Pause all rendering operations. Changes the ARRendererState to ARRendererStatePaused. Any delegates implementing rendererDidPause will be called at this time.

Example of use:

◆ removeDelegate:

- (void) removeDelegate: (id< ARRendererDelegate >)  delegate

Remove a delegate for rendering event notifications.

Example of use:

[[ARRenderer getInstance] removeDelegate:self];
Parameters
delegateThe delegate to remove.

◆ removeRenderTarget:

- (void) removeRenderTarget: (ARRenderTarget *)  renderTarget

Remove a render target from the renderer.

Example of use:

[[ARRenderer getInstance] removeRenderTarget:renderTarget];
Parameters
renderTargetThe render target to remove.

◆ resume

- (void) resume

Resume rendering operations. Changes the ARRendererState to ARRendererStateRunning. Any delegates implementing rendererDidResume will be called this time.

Example of use:

◆ useContext

- (void) useContext

Use this renderer's OpenGL context. This should be called if you intend to modify content (textures, meshes, materials) from a new thread.

Example of use:

Property Documentation

◆ currentFrameTime

- (NSTimeInterval) currentFrameTime
readnonatomicassign

The time, in seconds, of the current frame.

◆ rendererState

- (ARRendererState) rendererState
readwritenonatomicassign

The current renderer state (Uninitialised, Paused or Running).

◆ renderTargets

- (NSArray*) renderTargets
readnonatomicassign

The array of ARRenderTarget objects registered with the renderer.


The documentation for this class was generated from the following files:
-[ARRenderer useContext]
void useContext()
Definition: ARRenderer.m:464
ARRenderer
Definition: ARRenderer.h:45
-[ARRenderer resume]
void resume()
Definition: ARRenderer.m:587
-[ARRenderer deinitialise]
void deinitialise()
Definition: ARRenderer.m:53
-[ARRenderer pause]
void pause()
Definition: ARRenderer.m:572
+[ARRenderer getInstance]
ARRenderer * getInstance()
Definition: ARRenderer.m:84
-[ARRenderer initialise]
void initialise()
Definition: ARRenderer.m:36