bx-1379-redesign #15
|
@ -1,5 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted, watch } from 'vue';
|
import { onMounted, render, watch } from 'vue';
|
||||||
|
|
||||||
import { ACESFilmicToneMapping, Color, Fog, PMREMGenerator, SRGBColorSpace } from 'three';
|
import { ACESFilmicToneMapping, Color, Fog, PMREMGenerator, SRGBColorSpace } from 'three';
|
||||||
import { GainMapLoader } from '@monogrid/gainmap-js'
|
import { GainMapLoader } from '@monogrid/gainmap-js'
|
||||||
|
@ -21,7 +21,7 @@ renderer.value.toneMappingExposure = 1.25;
|
||||||
renderer.value.setPixelRatio((window.devicePixelRatio || 1) * 2)
|
renderer.value.setPixelRatio((window.devicePixelRatio || 1) * 2)
|
||||||
|
|
||||||
const loadEnv = async () => {
|
const loadEnv = async () => {
|
||||||
// console.log('update env')
|
try {
|
||||||
const loader = new GainMapLoader(renderer.value)
|
const loader = new GainMapLoader(renderer.value)
|
||||||
const result = await loader.loadAsync([
|
const result = await loader.loadAsync([
|
||||||
props.hdr_webp ? `${IMAGE_URL}/${props.hdr_webp}` : hdr_webp,
|
props.hdr_webp ? `${IMAGE_URL}/${props.hdr_webp}` : hdr_webp,
|
||||||
|
@ -39,6 +39,9 @@ const loadEnv = async () => {
|
||||||
scene.value.environmentIntensity = 1
|
scene.value.environmentIntensity = 1
|
||||||
|
|
||||||
result.renderTarget.texture.dispose();
|
result.renderTarget.texture.dispose();
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error)
|
||||||
|
}
|
||||||
|
|
||||||
const c = new Color()
|
const c = new Color()
|
||||||
c.set(props.clear_color || PROMOBG)
|
c.set(props.clear_color || PROMOBG)
|
||||||
|
@ -48,9 +51,14 @@ const loadEnv = async () => {
|
||||||
document.documentElement.style.setProperty('--primary-color', props.clear_color)
|
document.documentElement.style.setProperty('--primary-color', props.clear_color)
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(async () => {
|
watch(() => props, () => {
|
||||||
// loadEnv()
|
try {
|
||||||
})
|
loadEnv()
|
||||||
watch(() => props, loadEnv, { deep: true })
|
} catch (error) {
|
||||||
|
console.log(error)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ deep: true }
|
||||||
|
)
|
||||||
</script>
|
</script>
|
||||||
<template></template>
|
<template></template>
|
|
@ -265,14 +265,19 @@ const gotoCenterAndDistance = () => {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
loadModels()
|
|
||||||
watch(() => props.source, () => {
|
watch(() => props.source, () => {
|
||||||
|
if (props.source) {
|
||||||
const loaded = seekByName(scene.value, 'loaded')
|
const loaded = seekByName(scene.value, 'loaded')
|
||||||
if (loaded) {
|
if (loaded) {
|
||||||
loaded.children = []
|
loaded.children = []
|
||||||
}
|
}
|
||||||
sidebar.close()
|
sidebar.close()
|
||||||
|
try {
|
||||||
loadModels()
|
loadModels()
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error)
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
watch(() => sidebar, () => {
|
watch(() => sidebar, () => {
|
||||||
|
@ -394,6 +399,8 @@ const clickEvent = (event: MouseEvent) => {
|
||||||
}
|
}
|
||||||
const timerEvent = ['click', 'contextmenu', 'mousedown', 'mouseup', 'touchstart', 'touchend', 'touchmove']
|
const timerEvent = ['click', 'contextmenu', 'mousedown', 'mouseup', 'touchstart', 'touchend', 'touchmove']
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
loadModels()
|
||||||
|
|
||||||
document.addEventListener('click', clickEvent)
|
document.addEventListener('click', clickEvent)
|
||||||
|
|
||||||
timerEvent.map((event: string) => {
|
timerEvent.map((event: string) => {
|
||||||
|
|
|
@ -29,13 +29,12 @@ console.log(router)
|
||||||
</div>
|
</div>
|
||||||
<div class="nav-group">
|
<div class="nav-group">
|
||||||
<span class="nav-icon" :class="[{ disabled: router.options.history.state.back == null }]">
|
<span class="nav-icon" :class="[{ disabled: router.options.history.state.back == null }]">
|
||||||
<RouterLink :to="(router.options.history.state.back as string) ?? '/'" @click.prevent="router.back()">
|
<RouterLink :to="(router.options.history.state.back as string) ?? '/'">
|
||||||
<i-mdi:arrow-left />
|
<i-mdi:arrow-left />
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</span>
|
</span>
|
||||||
<span class="nav-icon" :class="[{ disabled: router.options.history.state.forward == null }]">
|
<span class="nav-icon" :class="[{ disabled: router.options.history.state.forward == null }]">
|
||||||
<RouterLink :to="(router.options.history.state.forward as string) ?? '/'"
|
<RouterLink :to="(router.options.history.state.forward as string) ?? '/'">
|
||||||
@click.prevent="router.forward()">
|
|
||||||
<i-mdi:arrow-right />
|
<i-mdi:arrow-right />
|
||||||
</RouterLink>
|
</RouterLink>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -19,6 +19,10 @@ const router = createRouter({
|
||||||
routes,
|
routes,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
router.beforeEach((to, from) => {
|
||||||
|
console.log(from, to)
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
|
||||||
const pinia = createPinia()
|
const pinia = createPinia()
|
||||||
const app = createApp(App)
|
const app = createApp(App)
|
||||||
|
|
Loading…
Reference in New Issue