ThreeJS constructor

ThreeJS(
  1. WxGLContext context,
  2. int width,
  3. int height,
  4. void onSetupComplete(), {
  5. Settings? mySettings,
})

Implementation

ThreeJS( WxGLContext context, int width, int height, this.onSetupComplete, { Settings? mySettings} )
{
  this.settings = mySettings ?? Settings();
  _width = width;
  _height = height;

  final parameters = AngleRendererParameters(
    width: width.toDouble(),
    height: height.toDouble(),
    gl: context,
    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 = AngleRenderer(parameters);

  // 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;
}