dev #10
|
@ -23,6 +23,7 @@ const loadEnv = async () => {
|
||||||
scene.value.environment = result.renderTarget.texture
|
scene.value.environment = result.renderTarget.texture
|
||||||
scene.value.background = result.renderTarget.texture
|
scene.value.background = result.renderTarget.texture
|
||||||
scene.value.background.mapping = EquirectangularReflectionMapping
|
scene.value.background.mapping = EquirectangularReflectionMapping
|
||||||
|
// scene.value.backgroundBlurriness = 0.15
|
||||||
result.renderTarget.texture.dispose();
|
result.renderTarget.texture.dispose();
|
||||||
}
|
}
|
||||||
renderer.value.toneMapping = ReinhardToneMapping
|
renderer.value.toneMapping = ReinhardToneMapping
|
||||||
|
|
|
@ -26,10 +26,14 @@ const clickable_items = ref<any[]>([])
|
||||||
const clickable_refs = ref<any[]>([])
|
const clickable_refs = ref<any[]>([])
|
||||||
const sidebar = usePromoSidebar();
|
const sidebar = usePromoSidebar();
|
||||||
const sidebar_scene = usePromoScene()
|
const sidebar_scene = usePromoScene()
|
||||||
const { controls, camera, scene, raycaster } = useTresContext()
|
const { renderer, controls, camera, scene, raycaster } = useTresContext()
|
||||||
const { seekByName, seekAllByName } = useSeek()
|
const { seekByName, seekAllByName } = useSeek()
|
||||||
const envVars = reactive({}) as { hdr_gainmap?: string, hdr_json?: string, hdr_webp?: string }
|
const envVars = reactive({}) as { hdr_gainmap?: string, hdr_json?: string, hdr_webp?: string }
|
||||||
|
|
||||||
|
// renderer.value.capabilities.maxTextures = 4
|
||||||
|
// renderer.value.capabilities.maxTextureSize = 512
|
||||||
|
// renderer.value.capabilities.precision = 'lowp'
|
||||||
|
|
||||||
const loadModels = async () => {
|
const loadModels = async () => {
|
||||||
const res = await fetch(`${SERVER_URL}/api/obj/scene/${props.source}`)
|
const res = await fetch(`${SERVER_URL}/api/obj/scene/${props.source}`)
|
||||||
const raw_data = await res.json() as scene3D
|
const raw_data = await res.json() as scene3D
|
||||||
|
@ -68,7 +72,7 @@ const loadModels = async () => {
|
||||||
clickable.value.push(...clickable_areas)
|
clickable.value.push(...clickable_areas)
|
||||||
}
|
}
|
||||||
sidebar_scene.setData(sidebar_items)
|
sidebar_scene.setData(sidebar_items)
|
||||||
sidebar.open()
|
// sidebar.open()
|
||||||
|
|
||||||
for (let index = 0; index < clickable.value.length; index++) {
|
for (let index = 0; index < clickable.value.length; index++) {
|
||||||
const element = clickable.value[index];
|
const element = clickable.value[index];
|
||||||
|
@ -121,13 +125,18 @@ const loadModels = async () => {
|
||||||
|
|
||||||
controls.value.enabled = true;
|
controls.value.enabled = true;
|
||||||
props.loaded()
|
props.loaded()
|
||||||
|
console.log("Number of Triangles :", renderer.value.info.render.triangles);
|
||||||
|
console.log("render.calls ", renderer.value.info.render.calls);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const { onLoop } = useRenderLoop()
|
const { onLoop } = useRenderLoop()
|
||||||
onLoop(() => {
|
onLoop(() => {
|
||||||
clickable_refs.value.map(el => {
|
clickable_refs.value.map(el => {
|
||||||
// el.quaternion.copy(camera.value?.quaternion);
|
// el.quaternion.copy(camera.value?.quaternion);
|
||||||
|
if (el.value[0]) {
|
||||||
el.value[0].lookAt(camera.value?.position)
|
el.value[0].lookAt(camera.value?.position)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -156,7 +165,13 @@ watch(() => props.source, () => {
|
||||||
loadModels()
|
loadModels()
|
||||||
})
|
})
|
||||||
|
|
||||||
onMounted(() => { document.addEventListener('click', clickEvent) })
|
onMounted(() => {
|
||||||
|
document.addEventListener('click', clickEvent)
|
||||||
|
console.log(sidebar.is_open)
|
||||||
|
if (sidebar.is_open) {
|
||||||
|
sidebar.close()
|
||||||
|
}
|
||||||
|
})
|
||||||
onUnmounted(() => { document.removeEventListener('click', clickEvent) })
|
onUnmounted(() => { document.removeEventListener('click', clickEvent) })
|
||||||
const pointer = reactive({ x: 0, y: 0 })
|
const pointer = reactive({ x: 0, y: 0 })
|
||||||
const clickEvent = (event: MouseEvent) => {
|
const clickEvent = (event: MouseEvent) => {
|
||||||
|
|
|
@ -57,7 +57,7 @@ watch(() => route.params.target, () => {
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div :class="[{ 'loading': !models_loading }, 'canvas-wrapper']">
|
<div :class="[{ 'loading': !models_loading }, 'canvas-wrapper']">
|
||||||
<TresCanvas shadows window-size>
|
<TresCanvas window-size :alpha="false" :antialias="false" :stencil="false" power-preference="high-performance" precision="lowp">
|
||||||
<TresPerspectiveCamera :position="cameraPosition" ref="camera" />
|
<TresPerspectiveCamera :position="cameraPosition" ref="camera" />
|
||||||
<OrbitControls v-bind="controlsState" @change="onChange" make-default />
|
<OrbitControls v-bind="controlsState" @change="onChange" make-default />
|
||||||
<Suspense>
|
<Suspense>
|
||||||
|
|
Loading…
Reference in New Issue