UNPKG

react-native-filament

Version:

A real-time physically based 3D rendering engine for React Native

61 lines 2.25 kB
import { PointerHolder } from './PointerHolder'; import { SwapChain } from './SwapChain'; import { View } from './View'; /** * Use FrameRateOptions to set the desired frame rate and control how quickly the system * reacts to GPU load changes. * * The parameters below are relevant when some Views are using dynamic resolution scaling: */ export interface FrameRateOptions { /** * Additional headroom for the GPU as a ratio of the targetFrameTime. * Useful for taking into account constant costs like post-processing or * GPU drivers on different platforms. * @default 0.0 **/ headRoomRatio?: number; /** * Rate at which the gpu load is adjusted to reach the target frame rate * This value can be computed as 1 / N, where N is the number of frames * needed to reach 64% of the target scale factor. * Higher values make the dynamic resolution react faster. * @default 1/8 **/ scaleRate?: number; /** * History size. Higher values tend to filter more (clamped to 31). * @default 15 **/ history?: number; /** * Desired frame interval in multiple of the refresh period, set in DisplayInfo (as 1 / DisplayInfo::refreshRate) * @default 1 **/ interval?: number; } /** * A `Renderer` instance represents an operating system's window. * * Typically, applications create a `Renderer` per window. The `Renderer` generates * drawing commands for the render thread and manages frame latency. * * A `Renderer` generates drawing commands from a `View`, itself containing a Scene description. */ export interface Renderer extends PointerHolder { setFrameRateOptions: (options: FrameRateOptions) => void; /** * Whether the View should be cleared using the clearColor. Use this if translucent * View will be drawn, for instance. * @default true */ setClearContent: (clear: boolean) => void; /** * Set the current Frame's output presentation timestamp, in milliseconds. */ setPresentationTime: (timestamp: number) => void; beginFrame: (swapChain: SwapChain, timestamp: number) => boolean; render: (view: View) => void; endFrame: () => void; } //# sourceMappingURL=Renderer.d.ts.map