tres-canvas.md 4.7 KB

TresCanvas

Het onderdeel TresCanvas is de core van Tres. Het is degene die de ThreeJS WebGLRenderer creëert.

<template>
  <TresCanvas shadows :output-encoding="SRGBColorSpace">
    <TresPerspectiveCamera />
      <!-- Je scene komt hier -->
  </TresCanvas>
</template>

Canvas grootte

De component TresCanvas gebruikt de grootte van het parent element als canvasgrootte. Als je de window size als canvasgrootte wilt gebruiken, kun je de window-size prop op true zetten.

<template>
  <TresCanvas window-size>
    <!-- Je scene komt hier -->
  </TresCanvas>
</template>

Of je kan CSS gebruiken om jouw canvasgrootte in te stellen.

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
}
#canvas {
  height: 100%;
  width: 100%;
}

Presets

Tres wordt geleverd met een paar presets voor de component TresCanvas. Je kunt ze gebruiken door de preset prop in te stellen.

Realistic

De realistic preset maakt het eenvoudig om de renderer in te stellen voor meer realistische 3D-scènes.

<template>
  <TresCanvas preset="realistic">
    <!-- Je scene komt hier -->
  </TresCanvas>
</template>

Het is gelijk aan:

renderer.shadows = true
renderer.physicallyCorrectLights = true
renderer.outputColorSpace = SRGBColorSpace
renderer.toneMapping = ACESFilmicToneMapping
renderer.toneMappingExposure = 3
renderer.shadowMap.enabled = true
renderer.shadowMap.type = PCFSoftShadowMap

Props

Prop Beschrijving Standaard
alpha Beheert de standaardwaarde voor duidelijke alfa. Wanneer ingesteld op true, is de waarde 0. Anders is het 1. false
antialias Of anti-aliasing moet worden uitgevoerd. true
camera Een handmatige camera die door de renderer moet worden gebruikt.
clearColor De kleur die de renderer gebruikt om het canvas leeg te maken. #000000
context Dit kan worden gebruikt om de renderer aan een bestaand RenderingContext te koppelen
depth Of de drawing buffer een depth buffer heeft van tenminste 16 bits. true
failIfMajorPerformanceCaveat Er wordt gedetecteerd of het maken van de renderer zal mislukken bij lage prestaties. Zie WebGL spec for details. false
logarithmicDepthBuffer Of de logarithmic depth buffer gebruikt moet worden. Het kan zijn dat dit noodzakelijk is als je te maken hebt met flinke verschillen in scale in een enkele scene. Merk op dat deze setting gebruik maakt van gl_FragDepth wanneer deze beschikbaar is en deze schakelt Early Fragment Test uit en kan een verlies in prestaties veroorzaken. false
outputColorSpace Definieert de uitvoercodering LinearEncoding
powerPreference Geeft een hint aan de user-agent die aangeeft welke configuratie van GPU geschikt is voor deze WebGL-context. Kan "high-performance", "low-power" or "default" zijn. default
precision Shader presisie. Kan "highp", "mediump" or "lowp" zijn. "highp" als deze is ondersteund door het apparaat
premultipliedAlpha Of de renderer ervan uitgaat dat kleuren premultiplied alpha hebben. true
preserveDrawingBuffer Of de buffers moeten worden behouden totdat ze handmatig worden gewist of overschreven.. false
shadows Schakelt shadows in de renderer in false
shadowMapType Zet de shadow map type PCFSoftShadowMap
stencil Of de drawing buffer een stencil buffer heeft van tenminste 8 bits. true
toneMapping Definiërt de tone mapping exposure gebruikt door de renderer. ACESFilmicToneMapping
toneMappingExposure Exposure level van tone mapping. 1
useLegacyLights Of de legacy belichtingsmodus gebruikt moet worden of niet true
windowSize Of de window grootte gebruikt moet worden als de canvas grootte of de parent element. false

Standaard waardes

Tres probeert zo min mogelijk een mening te hebben. Dat is de reden waarom het vrijwel geen standaardwaarde voor de TresCanvas-component instelt. Het gebruikt de standaardinstellingen van three.js. De enige uitzondering is de prop antialias. Die is standaard ingesteld op true.

Blootgestelde public eigenschappen

Eigenschap Beschrijving
context zie useTresContext