updated docs + examples

This commit is contained in:
Leon van Kammen 2023-08-08 12:40:38 +02:00
parent bc2d88c6f8
commit 26fb3e7f69
13 changed files with 5273 additions and 3512 deletions

View file

@ -1367,7 +1367,6 @@ xrf.frag.src = function(v, opts){
if( m.userData && (m.userData.src || m.userData.href) ) return ;//delete m.userData.src // prevent infinite recursion
xrf.eval.mesh(m,{scene,recursive:true})
})
console.dir(xrf)
if( srcScene.visible ) src.add( srcScene )
}
xrf.frag.src.scale( src, opts )
@ -1404,7 +1403,6 @@ xrf.frag.src.scale = function(scene, opts, url){
xrf.eval.fragment(i, Object.assign(opts,{frag, model:{scene},scene}))
}
//if( frag.q ) scene = frag.q.scene
console.dir(frag)
//xrf.add( model.scene )
xrf.eval( '#', {scene} ) // execute the default projection '#' (if exist)
xrf.eval( url, {scene} ) // and eval URI XR fragments
@ -1417,14 +1415,12 @@ xrf.frag.src.scale = function(scene, opts, url){
let bboxMesh = new THREE.Box3().setFromObject(mesh);
let bboxScene = new THREE.Box3().setFromObject(scene);
let maxScene = bboxScene.max.y > bboxScene.max.x ? bboxScene.max.y : bboxScene.max.x
let maxMesh = bboxMesh.max.y > bboxMesh.max.x ? bboxMesh.max.y : bboxMesh.max.x
let maxMesh = bboxMesh.max.y > bboxMesh.max.x ? bboxMesh.max.y : bboxMesh.max.x
let factor = maxMesh > maxScene ? maxScene / maxMesh : maxMesh / maxScene
console.log("maxMesh="+maxMesh+" maxScene="+maxScene)
console.log("factor="+factor+" 1/factor="+1/factor)
scene.scale.multiplyScalar( factor )
}else{
// spec 4 of https://xrfragment.org/#src
// spec 2 of https://xrfragment.org/#scaling%20of%20instanced%20objects
// spec 2 of https://xrfragment.org/#scaling%20of%20instanced%20objects
scene.scale.multiply( mesh.scale )
}
scene.isXRF = model.scene.isSRC = true

View file

@ -1367,7 +1367,6 @@ xrf.frag.src = function(v, opts){
if( m.userData && (m.userData.src || m.userData.href) ) return ;//delete m.userData.src // prevent infinite recursion
xrf.eval.mesh(m,{scene,recursive:true})
})
console.dir(xrf)
if( srcScene.visible ) src.add( srcScene )
}
xrf.frag.src.scale( src, opts )
@ -1404,7 +1403,6 @@ xrf.frag.src.scale = function(scene, opts, url){
xrf.eval.fragment(i, Object.assign(opts,{frag, model:{scene},scene}))
}
//if( frag.q ) scene = frag.q.scene
console.dir(frag)
//xrf.add( model.scene )
xrf.eval( '#', {scene} ) // execute the default projection '#' (if exist)
xrf.eval( url, {scene} ) // and eval URI XR fragments
@ -1417,14 +1415,12 @@ xrf.frag.src.scale = function(scene, opts, url){
let bboxMesh = new THREE.Box3().setFromObject(mesh);
let bboxScene = new THREE.Box3().setFromObject(scene);
let maxScene = bboxScene.max.y > bboxScene.max.x ? bboxScene.max.y : bboxScene.max.x
let maxMesh = bboxMesh.max.y > bboxMesh.max.x ? bboxMesh.max.y : bboxMesh.max.x
let maxMesh = bboxMesh.max.y > bboxMesh.max.x ? bboxMesh.max.y : bboxMesh.max.x
let factor = maxMesh > maxScene ? maxScene / maxMesh : maxMesh / maxScene
console.log("maxMesh="+maxMesh+" maxScene="+maxScene)
console.log("factor="+factor+" 1/factor="+1/factor)
scene.scale.multiplyScalar( factor )
}else{
// spec 4 of https://xrfragment.org/#src
// spec 2 of https://xrfragment.org/#scaling%20of%20instanced%20objects
// spec 2 of https://xrfragment.org/#scaling%20of%20instanced%20objects
scene.scale.multiply( mesh.scale )
}
scene.isXRF = model.scene.isSRC = true

View file

@ -1367,7 +1367,6 @@ xrf.frag.src = function(v, opts){
if( m.userData && (m.userData.src || m.userData.href) ) return ;//delete m.userData.src // prevent infinite recursion
xrf.eval.mesh(m,{scene,recursive:true})
})
console.dir(xrf)
if( srcScene.visible ) src.add( srcScene )
}
xrf.frag.src.scale( src, opts )
@ -1404,7 +1403,6 @@ xrf.frag.src.scale = function(scene, opts, url){
xrf.eval.fragment(i, Object.assign(opts,{frag, model:{scene},scene}))
}
//if( frag.q ) scene = frag.q.scene
console.dir(frag)
//xrf.add( model.scene )
xrf.eval( '#', {scene} ) // execute the default projection '#' (if exist)
xrf.eval( url, {scene} ) // and eval URI XR fragments
@ -1417,14 +1415,12 @@ xrf.frag.src.scale = function(scene, opts, url){
let bboxMesh = new THREE.Box3().setFromObject(mesh);
let bboxScene = new THREE.Box3().setFromObject(scene);
let maxScene = bboxScene.max.y > bboxScene.max.x ? bboxScene.max.y : bboxScene.max.x
let maxMesh = bboxMesh.max.y > bboxMesh.max.x ? bboxMesh.max.y : bboxMesh.max.x
let maxMesh = bboxMesh.max.y > bboxMesh.max.x ? bboxMesh.max.y : bboxMesh.max.x
let factor = maxMesh > maxScene ? maxScene / maxMesh : maxMesh / maxScene
console.log("maxMesh="+maxMesh+" maxScene="+maxScene)
console.log("factor="+factor+" 1/factor="+1/factor)
scene.scale.multiplyScalar( factor )
}else{
// spec 4 of https://xrfragment.org/#src
// spec 2 of https://xrfragment.org/#scaling%20of%20instanced%20objects
// spec 2 of https://xrfragment.org/#scaling%20of%20instanced%20objects
scene.scale.multiply( mesh.scale )
}
scene.isXRF = model.scene.isSRC = true

View file

@ -1 +1 @@
../../assets/query.gltf
assets/example.gltf

5158
example/assets/example.gltf Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
make
View file

@ -47,7 +47,7 @@ server(){
cd /tmp
test -f redbean.com || wget https://redbean.dev/redbean-2.2.com -O redbean.com && chmod 755 redbean.com
test -f cert.pem || openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
./redbean.com -C cert.pem -K key.pem -D $dir
./redbean.com -c 0 -C cert.pem -K key.pem -D $dir
}
build(){

View file

@ -9,9 +9,9 @@
nodejs-slim_20
# extra
php82
mono
jdk
#php82
#mono
#jdk
];
}

View file

@ -27,7 +27,6 @@ xrf.frag.src = function(v, opts){
if( m.userData && (m.userData.src || m.userData.href) ) return ;//delete m.userData.src // prevent infinite recursion
xrf.eval.mesh(m,{scene,recursive:true})
})
console.dir(xrf)
if( srcScene.visible ) src.add( srcScene )
}
xrf.frag.src.scale( src, opts )
@ -64,7 +63,6 @@ xrf.frag.src.scale = function(scene, opts, url){
xrf.eval.fragment(i, Object.assign(opts,{frag, model:{scene},scene}))
}
//if( frag.q ) scene = frag.q.scene
console.dir(frag)
//xrf.add( model.scene )
xrf.eval( '#', {scene} ) // execute the default projection '#' (if exist)
xrf.eval( url, {scene} ) // and eval URI XR fragments
@ -77,14 +75,12 @@ xrf.frag.src.scale = function(scene, opts, url){
let bboxMesh = new THREE.Box3().setFromObject(mesh);
let bboxScene = new THREE.Box3().setFromObject(scene);
let maxScene = bboxScene.max.y > bboxScene.max.x ? bboxScene.max.y : bboxScene.max.x
let maxMesh = bboxMesh.max.y > bboxMesh.max.x ? bboxMesh.max.y : bboxMesh.max.x
let maxMesh = bboxMesh.max.y > bboxMesh.max.x ? bboxMesh.max.y : bboxMesh.max.x
let factor = maxMesh > maxScene ? maxScene / maxMesh : maxMesh / maxScene
console.log("maxMesh="+maxMesh+" maxScene="+maxScene)
console.log("factor="+factor+" 1/factor="+1/factor)
scene.scale.multiplyScalar( factor )
}else{
// spec 4 of https://xrfragment.org/#src
// spec 2 of https://xrfragment.org/#scaling%20of%20instanced%20objects
// spec 2 of https://xrfragment.org/#scaling%20of%20instanced%20objects
scene.scale.multiply( mesh.scale )
}
scene.isXRF = model.scene.isSRC = true