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 if( m.userData && (m.userData.src || m.userData.href) ) return ;//delete m.userData.src // prevent infinite recursion
xrf.eval.mesh(m,{scene,recursive:true}) xrf.eval.mesh(m,{scene,recursive:true})
}) })
console.dir(xrf)
if( srcScene.visible ) src.add( srcScene ) if( srcScene.visible ) src.add( srcScene )
} }
xrf.frag.src.scale( src, opts ) 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})) xrf.eval.fragment(i, Object.assign(opts,{frag, model:{scene},scene}))
} }
//if( frag.q ) scene = frag.q.scene //if( frag.q ) scene = frag.q.scene
console.dir(frag)
//xrf.add( model.scene ) //xrf.add( model.scene )
xrf.eval( '#', {scene} ) // execute the default projection '#' (if exist) xrf.eval( '#', {scene} ) // execute the default projection '#' (if exist)
xrf.eval( url, {scene} ) // and eval URI XR fragments xrf.eval( url, {scene} ) // and eval URI XR fragments
@ -1417,10 +1415,8 @@ xrf.frag.src.scale = function(scene, opts, url){
let bboxMesh = new THREE.Box3().setFromObject(mesh); let bboxMesh = new THREE.Box3().setFromObject(mesh);
let bboxScene = new THREE.Box3().setFromObject(scene); let bboxScene = new THREE.Box3().setFromObject(scene);
let maxScene = bboxScene.max.y > bboxScene.max.x ? bboxScene.max.y : bboxScene.max.x 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 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 ) scene.scale.multiplyScalar( factor )
}else{ }else{
// spec 4 of https://xrfragment.org/#src // spec 4 of https://xrfragment.org/#src

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 if( m.userData && (m.userData.src || m.userData.href) ) return ;//delete m.userData.src // prevent infinite recursion
xrf.eval.mesh(m,{scene,recursive:true}) xrf.eval.mesh(m,{scene,recursive:true})
}) })
console.dir(xrf)
if( srcScene.visible ) src.add( srcScene ) if( srcScene.visible ) src.add( srcScene )
} }
xrf.frag.src.scale( src, opts ) 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})) xrf.eval.fragment(i, Object.assign(opts,{frag, model:{scene},scene}))
} }
//if( frag.q ) scene = frag.q.scene //if( frag.q ) scene = frag.q.scene
console.dir(frag)
//xrf.add( model.scene ) //xrf.add( model.scene )
xrf.eval( '#', {scene} ) // execute the default projection '#' (if exist) xrf.eval( '#', {scene} ) // execute the default projection '#' (if exist)
xrf.eval( url, {scene} ) // and eval URI XR fragments xrf.eval( url, {scene} ) // and eval URI XR fragments
@ -1417,10 +1415,8 @@ xrf.frag.src.scale = function(scene, opts, url){
let bboxMesh = new THREE.Box3().setFromObject(mesh); let bboxMesh = new THREE.Box3().setFromObject(mesh);
let bboxScene = new THREE.Box3().setFromObject(scene); let bboxScene = new THREE.Box3().setFromObject(scene);
let maxScene = bboxScene.max.y > bboxScene.max.x ? bboxScene.max.y : bboxScene.max.x 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 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 ) scene.scale.multiplyScalar( factor )
}else{ }else{
// spec 4 of https://xrfragment.org/#src // spec 4 of https://xrfragment.org/#src

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 if( m.userData && (m.userData.src || m.userData.href) ) return ;//delete m.userData.src // prevent infinite recursion
xrf.eval.mesh(m,{scene,recursive:true}) xrf.eval.mesh(m,{scene,recursive:true})
}) })
console.dir(xrf)
if( srcScene.visible ) src.add( srcScene ) if( srcScene.visible ) src.add( srcScene )
} }
xrf.frag.src.scale( src, opts ) 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})) xrf.eval.fragment(i, Object.assign(opts,{frag, model:{scene},scene}))
} }
//if( frag.q ) scene = frag.q.scene //if( frag.q ) scene = frag.q.scene
console.dir(frag)
//xrf.add( model.scene ) //xrf.add( model.scene )
xrf.eval( '#', {scene} ) // execute the default projection '#' (if exist) xrf.eval( '#', {scene} ) // execute the default projection '#' (if exist)
xrf.eval( url, {scene} ) // and eval URI XR fragments xrf.eval( url, {scene} ) // and eval URI XR fragments
@ -1417,10 +1415,8 @@ xrf.frag.src.scale = function(scene, opts, url){
let bboxMesh = new THREE.Box3().setFromObject(mesh); let bboxMesh = new THREE.Box3().setFromObject(mesh);
let bboxScene = new THREE.Box3().setFromObject(scene); let bboxScene = new THREE.Box3().setFromObject(scene);
let maxScene = bboxScene.max.y > bboxScene.max.x ? bboxScene.max.y : bboxScene.max.x 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 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 ) scene.scale.multiplyScalar( factor )
}else{ }else{
// spec 4 of https://xrfragment.org/#src // spec 4 of https://xrfragment.org/#src

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 cd /tmp
test -f redbean.com || wget https://redbean.dev/redbean-2.2.com -O redbean.com && chmod 755 redbean.com 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 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(){ build(){

View file

@ -9,9 +9,9 @@
nodejs-slim_20 nodejs-slim_20
# extra # extra
php82 #php82
mono #mono
jdk #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 if( m.userData && (m.userData.src || m.userData.href) ) return ;//delete m.userData.src // prevent infinite recursion
xrf.eval.mesh(m,{scene,recursive:true}) xrf.eval.mesh(m,{scene,recursive:true})
}) })
console.dir(xrf)
if( srcScene.visible ) src.add( srcScene ) if( srcScene.visible ) src.add( srcScene )
} }
xrf.frag.src.scale( src, opts ) 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})) xrf.eval.fragment(i, Object.assign(opts,{frag, model:{scene},scene}))
} }
//if( frag.q ) scene = frag.q.scene //if( frag.q ) scene = frag.q.scene
console.dir(frag)
//xrf.add( model.scene ) //xrf.add( model.scene )
xrf.eval( '#', {scene} ) // execute the default projection '#' (if exist) xrf.eval( '#', {scene} ) // execute the default projection '#' (if exist)
xrf.eval( url, {scene} ) // and eval URI XR fragments xrf.eval( url, {scene} ) // and eval URI XR fragments
@ -77,10 +75,8 @@ xrf.frag.src.scale = function(scene, opts, url){
let bboxMesh = new THREE.Box3().setFromObject(mesh); let bboxMesh = new THREE.Box3().setFromObject(mesh);
let bboxScene = new THREE.Box3().setFromObject(scene); let bboxScene = new THREE.Box3().setFromObject(scene);
let maxScene = bboxScene.max.y > bboxScene.max.x ? bboxScene.max.y : bboxScene.max.x 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 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 ) scene.scale.multiplyScalar( factor )
}else{ }else{
// spec 4 of https://xrfragment.org/#src // spec 4 of https://xrfragment.org/#src