initRenderer method
void
initRenderer()
Implementation
void initRenderer() {
WebGLRendererParameters options = WebGLRendererParameters(
width: width,
height: height,
gl: gl!,
stencil: settings.stencil,
antialias: settings.antialias,
alpha: settings.alpha,
clearColor: settings.clearColor,
clearAlpha: settings.clearAlpha,
logarithmicDepthBuffer: settings.logarithmicDepthBuffer,
xr: settings.xr,
depth: settings.depth,
premultipliedAlpha: settings.premultipliedAlpha,
preserveDrawingBuffer: settings.preserveDrawingBuffer,
powerPreference: settings.powerPreference,
failIfMajorPerformanceCaveat: settings.failIfMajorPerformanceCaveat,
reverseDepthBuffer: settings.reverseDepthBuffer,
precision: settings.precision,
);
renderer = core.WebGLRenderer(options);
renderer!.setPixelRatio(_resolution!);
renderer!.setSize(width, height, false);
renderer!.alpha = settings.alpha;
renderer!.shadowMap.enabled = settings.enableShadowMap;
renderer!.shadowMap.type = settings.shadowMapType;
renderer!.autoClear = settings.autoClear;
renderer!.setClearColor(
Color.fromHex32(settings.clearColor),
settings.clearAlpha
);
renderer!.autoClearDepth = settings.autoClearDepth;
renderer!.autoClearStencil = settings.autoClearStencil;
renderer!.outputEncoding = settings.outputEncoding;
renderer!.outputColorSpace = settings.colorSpace.toString();
renderer!.localClippingEnabled = settings.localClippingEnabled;
renderer!.clippingPlanes = settings.clippingPlanes;
renderer!.toneMapping = settings.toneMapping;
renderer!.toneMappingExposure = settings.toneMappingExposure;
if(settings.useSourceTexture){
final core.WebGLRenderTargetOptions pars = core.WebGLRenderTargetOptions(settings.renderOptions);
renderTarget = core.WebGLRenderTarget((width * _resolution!).toInt(), (height * _resolution!).toInt(), pars);
renderer!.setRenderTarget(renderTarget);
sourceTexture = renderer!.getRenderTargetGLTexture(renderTarget!);
}
}