dev #10

Merged
ksenia_mikhailova merged 46 commits from dev into main 2024-07-24 12:58:58 +03:00
3 changed files with 21 additions and 5 deletions
Showing only changes of commit 1ec21d8dde - Show all commits

View File

@ -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

View File

@ -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) => {

View File

@ -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>