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!);
  }
}