Explorar el Código

fix: added revision version to apply useLegacyLights only if neccesary (#373)

* fix: added revision version to apply useLegacyLights only if neccesary

* fix: removed warning concerning deprecated useLegacyLights

---------

Co-authored-by: Tino Koch <tinoooo@users.noreply.github.com>
Alvaro Saburido hace 1 año
padre
commit
dee4b97faf
Se han modificado 3 ficheros con 220 adiciones y 185 borrados
  1. 209 182
      pnpm-lock.yaml
  2. 7 3
      src/composables/useRenderer/index.ts
  3. 4 0
      src/core/revision.ts

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 209 - 182
pnpm-lock.yaml


+ 7 - 3
src/composables/useRenderer/index.ts

@@ -21,6 +21,9 @@ import type {
   ShadowMapType,
   ShadowMapType,
   WebGLRendererParameters,
   WebGLRendererParameters,
 } from 'three'
 } from 'three'
+// eslint-disable-next-line max-len
+// Solution taken from Thretle that actually support different versions https://github.com/threlte/threlte/blob/5fa541179460f0dadc7dc17ae5e6854d1689379e/packages/core/src/lib/lib/useRenderer.ts
+import { revision } from '../../core/revision'
 
 
 type TransformToMaybeRefOrGetter<T> = {
 type TransformToMaybeRefOrGetter<T> = {
   [K in keyof T]: MaybeRefOrGetter<T[K]> | MaybeRefOrGetter<T[K]>;
   [K in keyof T]: MaybeRefOrGetter<T[K]> | MaybeRefOrGetter<T[K]>;
@@ -161,7 +164,6 @@ export function useRenderer(
     const plainRenderer = new WebGLRenderer()
     const plainRenderer = new WebGLRenderer()
 
 
     const defaults = {
     const defaults = {
-
       shadowMap: {
       shadowMap: {
         enabled: plainRenderer.shadowMap.enabled,
         enabled: plainRenderer.shadowMap.enabled,
         type: plainRenderer.shadowMap.type,
         type: plainRenderer.shadowMap.type,
@@ -169,7 +171,6 @@ export function useRenderer(
       toneMapping: plainRenderer.toneMapping,
       toneMapping: plainRenderer.toneMapping,
       toneMappingExposure: plainRenderer.toneMappingExposure,
       toneMappingExposure: plainRenderer.toneMappingExposure,
       outputColorSpace: plainRenderer.outputColorSpace,
       outputColorSpace: plainRenderer.outputColorSpace,
-      useLegacyLights: plainRenderer.useLegacyLights
     }
     }
     plainRenderer.dispose()
     plainRenderer.dispose()
 
 
@@ -216,7 +217,10 @@ export function useRenderer(
     setValueOrDefault(options.shadows, 'shadowMap.enabled')
     setValueOrDefault(options.shadows, 'shadowMap.enabled')
     setValueOrDefault(options.toneMapping, 'toneMapping')
     setValueOrDefault(options.toneMapping, 'toneMapping')
     setValueOrDefault(options.shadowMapType, 'shadowMap.type')
     setValueOrDefault(options.shadowMapType, 'shadowMap.type')
-    setValueOrDefault(options.useLegacyLights, 'useLegacyLights')
+
+    if (revision < 150)
+      setValueOrDefault(!options.useLegacyLights, 'physicallyCorrectLights')
+
     setValueOrDefault(options.outputColorSpace, 'outputColorSpace')
     setValueOrDefault(options.outputColorSpace, 'outputColorSpace')
     setValueOrDefault(options.toneMappingExposure, 'toneMappingExposure')
     setValueOrDefault(options.toneMappingExposure, 'toneMappingExposure')
 
 

+ 4 - 0
src/core/revision.ts

@@ -0,0 +1,4 @@
+import { REVISION } from 'three'
+
+// REVISION can be '{number}' or '{number}dev'
+export const revision = Number.parseInt(REVISION.replace('dev', ''))

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio