KudanAR - iOS  1.6.0
ARRenderTarget Class Reference

#import <ARRenderTarget.h>

Inherits NSObject.

Inherited by ARRenderTargetMain, and ARRenderTargetTexture.

Instance Methods

(instancetype) - initWithWidth:height:
 
(void) - addViewPort:
 
(void) - addViewPort:zOrder:
 
(void) - removeViewPort:
 
(void) - clearViewPorts
 
(ARViewPort *) - createDefaultViewPort
 
(void) - addDelegate:
 
(UIImage *) - screenshot
 
(BOOL) - checkFBO
 
(void) - bindBuffer
 
(void) - bindCaptureBuffer
 
(void) - draw
 
(void) - drawForCapture
 

Properties

NSArray * viewPorts
 
NSUInteger numberOfViewPorts
 
float width
 
float height
 
NSArray * delegates
 
NSInteger priority
 
BOOL hasDepth
 
BOOL hasStencil
 
BOOL manualDraw
 
NSDictionary * captureColourToNode
 
BOOL touchEventReceived
 
CGPoint touchPoint
 

Detailed Description

A render target represents a target buffer for rendering.

Method Documentation

◆ addDelegate:

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

Add a delegate to receive rendering events for this render target.

Example of use:

ARRenderTarget *renderTarget = [[ARRenderTarget alloc] initWithWidth:100 height:100];
[renderTarget addDelegate:self];
Parameters
delegateARRenderTargate delegate.

◆ addViewPort:

- (void) addViewPort: (ARViewPort *)  viewPort

Add a viewport to this render target.

Example of use:

ARViewPort *viewPort = [[ARViewPort alloc] initWithOffsetX:0 y:0 height:100 width:100];
ARRenderTarget *renderTarget = [[ARRenderTarget alloc] initWithWidth:100 height:100];
[renderTarget addViewPort:viewPort];
Parameters
viewPortThe viewport to add.

◆ addViewPort:zOrder:

- (void) addViewPort: (ARViewPort *)  viewPort
zOrder: (NSInteger)  zOrder 

Add a viewport to this render target and set its z-order.

Example of use:

ARViewPort *viewPort = [[ARViewPort alloc] initWithOffsetX:0 y:0 height:100 width:100];
ARRenderTarget *renderTarget = [[ARRenderTarget alloc] initWithWidth:100 height:100];
[renderTarget addViewPort:viewPort zOrder:-10];
Parameters
viewPortThe viewport to add.
zOrderThe render priority of this viewport. Any value is fine, lower values are rendered first.

◆ bindBuffer

- (void) bindBuffer

Binds frame buffer objects for use in OpenGL.

◆ bindCaptureBuffer

- (void) bindCaptureBuffer

Binds capture frame buffer. Used for touch detection.

◆ checkFBO

- (BOOL) checkFBO

Check the frame buffer status of the render target.

Returns
True if image data for the render target has finished buffering, false otherwise.

◆ clearViewPorts

- (void) clearViewPorts

Remove all viewports from this render target.

Example of use:

[renderTarget clearViewPorts];

◆ createDefaultViewPort

- (ARViewPort *) createDefaultViewPort

Creates a default viewport with dimensions matching the resolution of this render target and no offset.

Example of use:

ARRenderTarget *renderTarget = [[ARRenderTarget alloc] initWithWidth:100 height:100];
ARViewPort *viewPort = [renderTarget createDefaultViewPort];
Returns
The new viewport.

◆ draw

- (void) draw

Draws render target to screen.

◆ initWithWidth:height:

- (instancetype) initWithWidth: (float)  width
height: (float)  height 

Initialise an ARRenderTarget using the given width and height.

Example of use:

ARRenderTarget *renderTarget = [[ARRenderTarget alloc] initWithWidth:100.0 height:100.0];
Parameters
widthThe width, in pixels, of the render target.
heightThe height, in pixels, of the render target.

Reimplemented in ARExtractedCameraTexture, and ARRenderTargetTexture.

◆ removeViewPort:

- (void) removeViewPort: (ARViewPort *)  viewPort

Remove a viewport from this render target.

Example of use:

[rederTarget removeViewPort:viewPort];
Parameters
viewPortThe viewport to remove.

◆ screenshot

- (UIImage *) screenshot

Take a screenshot of this render target. Resolution of the image is the same as the resolution of the render target.

Example of use:

ARRenderTarget *renderTarget = [[ARRenderTarget alloc] initWithWidth:100 height:100];
UIImage screenshot = [renderTarget screenshot];
Returns
The screenshot.

Property Documentation

◆ delegates

- (NSArray*) delegates
readnonatomicassign

The array of all added delegates.

◆ hasDepth

- (BOOL) hasDepth
readwritenonatomicassign

Whether this render target has a depth buffer.

◆ hasStencil

- (BOOL) hasStencil
readwritenonatomicassign

Whether this render target has a stencil buffer.

◆ height

- (float) height
readwritenonatomicassign

The height, in pixels, of this render target.

◆ manualDraw

- (BOOL) manualDraw
readwritenonatomicassign

Whether this render target is drawn automatically each frame, or whether it has to be drawn explicitly. Default NO - drawn automatically.

◆ numberOfViewPorts

- (NSUInteger) numberOfViewPorts
readnonatomicassign

The number of viewports contained by this render target.

◆ priority

- (NSInteger) priority
readwritenonatomicassign

The priority of this render target relative to other render targets. Any value is fine. Lower is rendered first.

◆ touchEventReceived

- (BOOL) touchEventReceived
readwritenonatomicassign

Whether the screen has been touched.

◆ touchPoint

- (CGPoint) touchPoint
readwritenonatomicassign

Coordinates for where the screen was touched.

◆ viewPorts

- (NSArray*) viewPorts
readwritenonatomicassign

The array of ARViewPort objects that this render target contains. These are rendered based on viewport z-order.

◆ width

- (float) width
readwritenonatomicassign

The width, in pixels, of this render target.


The documentation for this class was generated from the following files:
-[ARRenderTarget clearViewPorts]
void clearViewPorts()
Definition: ARRenderTarget.mm:305
ARRenderTarget::height
float height
Definition: ARRenderTarget.h:48
ARViewPort
Definition: ARViewPort.h:12
ARRenderTarget::width
float width
Definition: ARRenderTarget.h:43
ARRenderTarget
Definition: ARRenderTarget.h:29
-[ARRenderTarget screenshot]
UIImage * screenshot()
Definition: ARRenderTarget.mm:265
-[ARRenderTarget createDefaultViewPort]
ARViewPort * createDefaultViewPort()
Definition: ARRenderTarget.mm:89