Quellcode durchsuchen

Merge pull request #249 from Tresjs/bugfix/248-tresfog-isnt-working

fix: akwardly added fog and fixed also typing
Alvaro Saburido vor 2 Jahren
Ursprung
Commit
d7f8b4076a

+ 1 - 0
playground/src/components/TheExperience.vue

@@ -31,6 +31,7 @@ watchEffect(() => {
   <TresCanvas v-bind="gl" ref="context">
     <TresPerspectiveCamera :position="[7, 7, 7]" :look-at="[0, 4, 0]" />
     <OrbitControls />
+    <TresFog :color="gl.clearColor" :near="5" :far="15" />
     <TresMesh :position="[-2, 6, 0]" :rotation="[0, Math.PI, 0]" cast-shadow>
       <TresConeGeometry :args="[1, 1.5, 3]" />
       <TresMeshToonMaterial color="#82DBC5" />

+ 4 - 2
plugins/vite-tres-types-plugin.ts

@@ -29,7 +29,8 @@ export const unplugin = createUnplugin(() => {
               key.endsWith('Material') ||
               key.endsWith('Helper') ||
               key.endsWith('Light') ||
-              key.endsWith('Camera'),
+              key.endsWith('Camera') ||
+              key.endsWith('Fog'),
           )
           .join(',\n')}
       } from 'three';
@@ -92,7 +93,8 @@ export const unplugin = createUnplugin(() => {
               key.endsWith('Material') ||
               key.endsWith('Helper') ||
               key.endsWith('Light') ||
-              key.endsWith('Camera'),
+              key.endsWith('Camera') ||
+              key.endsWith('Fog'),
           )
           .map(key => `Tres${key}: DefineComponent<Partial<Omit<${key}, OverwrittenProps > & TresModifiedObject>>`)
           .join('\n')}

+ 2 - 0
src/core/nodeOps.ts

@@ -93,6 +93,8 @@ export const nodeOps: RendererOptions<TresObject, TresObject> = {
     if (child?.isObject3D && parent?.isObject3D) {
       parent.add(child)
       child.dispatchEvent({ type: 'added' })
+    } else if (child?.isFog) {
+      parent.fog = child
     } else if (typeof child?.attach === 'string') {
       child.__previousAttach = child[parent?.attach]
       if (parent) {

+ 2 - 0
src/types/tres-components.d.ts

@@ -32,6 +32,7 @@ DodecahedronGeometry,
 EdgesGeometry,
 ExtrudeBufferGeometry,
 ExtrudeGeometry,
+Fog,
 GridHelper,
 HemisphereLight,
 HemisphereLightHelper,
@@ -206,6 +207,7 @@ TresDodecahedronGeometry: DefineComponent<Partial<Omit<DodecahedronGeometry, Ove
 TresEdgesGeometry: DefineComponent<Partial<Omit<EdgesGeometry, OverwrittenProps > & TresModifiedObject>>
 TresExtrudeBufferGeometry: DefineComponent<Partial<Omit<ExtrudeBufferGeometry, OverwrittenProps > & TresModifiedObject>>
 TresExtrudeGeometry: DefineComponent<Partial<Omit<ExtrudeGeometry, OverwrittenProps > & TresModifiedObject>>
+TresFog: DefineComponent<Partial<Omit<Fog, OverwrittenProps > & TresModifiedObject>>
 TresGridHelper: DefineComponent<Partial<Omit<GridHelper, OverwrittenProps > & TresModifiedObject>>
 TresHemisphereLight: DefineComponent<Partial<Omit<HemisphereLight, OverwrittenProps > & TresModifiedObject>>
 TresHemisphereLightHelper: DefineComponent<Partial<Omit<HemisphereLightHelper, OverwrittenProps > & TresModifiedObject>>