Class: WebGLRenderer

WebGLRenderer is a wrapper around the three.js WebGLRenderer provides a simple API for managing multiple views.

After construction, the domElement property should be added to the dom.

Example usage:

import { WebGLRenderer } from '@rapidajs/three';
import { Scene, PerspectiveCamera } from 'three';

const renderer = new WebGLRenderer();

// add the renderer domElement to the dom before adding views
document.getElementById('app').appendChild(renderer.domElement);

const scene = new Scene();
const camera = new PerspectiveCamera();

const view = renderer.create.view({
  camera,
  scene,
});

renderer.render();

Example usage for a view using an effect composer for post processing effects:

import { WebGLRenderer } from '@rapidajs/three';
import { Scene, PerspectiveCamera } from 'three';

const renderer = new WebGLRenderer();

// add the renderer domElement to the dom before adding views
document.getElementById('app').appendChild(renderer.domElement);

const scene = new Scene();
const camera = new PerspectiveCamera();

const view = renderer.create.view({
  camera,
  scene,
  useEffectComposer: true,
});

// get the time elapsed from your render loop
const timeElapsed = 0.1;

// pass the time elapsed to the render method
renderer.render(timeElapsed);

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new WebGLRenderer(params?)

Constructor for a WebGLRenderer

Parameters

NameTypeDescription
params?WebGLRendererParamsthe params for the new renderer

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:103

Properties

domElement

domElement: HTMLElement

The DOM element for the renderer. Should be added to the dom after creating the WebGLRenderer

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:87


orderedViews

Private orderedViews: WebGLView[] = []

The ordered views according the views zIndex values

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:92


resizeObserver

Private resizeObserver: ResizeObserver

The resize observer for the renderer dom element

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:97


three

three: WebGLRenderer

The three js renderer

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:77


views

views: Map<string, WebGLView>

Views for the webgl renderer

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:82

Accessors

create

get create(): Object

Retrieves renderer factories

Returns

Object

NameType
view(params: WebGLViewParams) => WebGLView

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:138

Methods

addView

addView(view): void

Adds a view to the renderer

Parameters

NameTypeDescription
viewWebGLViewthe view to add

Returns

void

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:160


destroy

destroy(): void

Destroys the renderer and all views

Returns

void

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:171


onResize

Private onResize(): void

Handles resizing

Returns

void

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:226


removeView

removeView(view): void

Removes a view from the renderer

Parameters

NameTypeDescription
viewWebGLViewthe view to remove

Returns

void

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:184


render

render(timeElapsed?): void

Renders all views

Parameters

NameTypeDescription
timeElapsed?numberthe time elapsed, required if using an effect composer with time based postprocessing effects

Returns

void

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:196


sortViews

Private sortViews(): void

Sorts the views in the renderer by their z index

Returns

void

Defined in

packages/three/src/renderer/webgl/webgl-renderer.ts:240