Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
AR.isConfigurationAvailable(trackingConfiguration)
);
});
}
try {
AR.setWorldOriginAsync(new THREE.Matrix4().toArray());
} catch (error) {
console.warn('Error:setWorldOriginAsync: ', error);
}
this.renderer = ExpoTHREE.renderer({ gl });
this.renderer.setPixelRatio(scale);
this.renderer.setSize(width, height);
this.renderer.setClearColor(0xffffff);
this.scene = new THREE.Scene();
this.scene.background = ThreeAR.createARBackgroundTexture(this.renderer);
/// AR Camera
this.camera = ThreeAR.createARCamera(width, height, 0.01, 1000);
this.setupARUtils();
};
onContextCreate = async ({ gl, canvas, width, height, scale }) => {
// Based on https://threejs.org/docs/#manual/introduction/Creating-a-scene
// In this case we instead use a texture for the material (because textures
// are cool!). All differences from the normal THREE.js example are
// indicated with a `NOTE:` comment.
// NOTE: How to create an `Expo.GLView`-compatible THREE renderer
this.renderer = ExpoTHREE.createRenderer({ gl, canvas });
this.renderer.setPixelRatio(scale);
this.renderer.setSize(width, height);
this.renderer.setClearColor(0x000000, 1.0);
this.scene = new THREE.Scene();
this.camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 1000);
this.camera.position.z = 5;
const geometry = new THREE.BoxGeometry(1, 1, 1);
let map;
if (Platform.OS === 'web') {
map = require('./assets/icons/app-icon.png');
} else {
map = await ExpoTHREE.loadAsync(require('./assets/icons/app-icon.png'));
}
const material = new THREE.MeshBasicMaterial({
// NOTE: How to create an Expo-compatible THREE texture
map,
});
this.cube = new THREE.Mesh(geometry, material);
this.scene.add(this.cube);
onContextCreate = async ({
gl,
canvas,
width,
height,
scale: pixelRatio,
}) => {
this.renderer = ExpoTHREE.createRenderer({
gl,
canvas,
width,
height,
pixelRatio,
});
this.scene = new THREE.Scene();
this.camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 1000);
this.camera.position.z = 5;
const geometry = new THREE.BoxGeometry(1, 1, 1);
const asset = Asset.fromModule(Assets.icons['ios.png']);
await asset.downloadAsync();
const map = await ExpoTHREE.createTextureAsync({ asset });
const material = new THREE.MeshBasicMaterial({
// NOTE: How to create an Expo-compatible THREE texture
map,
});
this.cube = new THREE.Mesh(geometry, material);
this.scene.add(this.cube);
};
onContextCreate = async ({
gl,
canvas,
width,
height,
scale: pixelRatio,
}) => {
this.renderer = new ExpoTHREE.Renderer({
gl,
canvas,
width,
height,
pixelRatio,
});
this.scene = new THREE.Scene();
this.camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 1000);
this.camera.position.z = 5;
const geometry = new THREE.BoxGeometry(1, 1, 1);
const map = await ExpoTHREE.loadAsync(Assets.icons['ios.png']);
const material = new THREE.MeshBasicMaterial({
// NOTE: How to create an Expo-compatible THREE texture
map,
});
this.cube = new THREE.Mesh(geometry, material);
this.scene.add(this.cube);
};
setupScene = () => {
// scene
this.scene = new THREE.Scene();
// Standard Background
this.scene.background = new THREE.Color(0x999999);
this.scene.fog = new THREE.FogExp2(0xcccccc, 0.002);
this.scene.add(new THREE.GridHelper(50, 50, 0xffffff, 0x555555));
this.setupLights();
};
onContextCreate = async ({ gl, scale: pixelRatio, width, height }) => {
AR.setPlaneDetection(AR.PlaneDetectionTypes.Horizontal);
this.renderer = new ExpoTHREE.Renderer({ gl, width, height, pixelRatio });
// Enable some realist rendering props: https://threejs.org/docs/#api/renderers/WebGLRenderer.physicallyCorrectLights
this.renderer.gammaInput = this.renderer.gammaOutput = true;
this.renderer.shadowMap.enabled = true;
this.renderer.physicallyCorrectLights = true;
this.renderer.toneMapping = THREE.ReinhardToneMapping;
// this.renderer.toneMappingExposure = Math.pow(0.68, 5.0); // to allow for very bright scenes.
this.scene = new THREE.Scene();
this.scene.background = new ThreeAR.BackgroundTexture(this.renderer);
this.camera = new ThreeAR.Camera(width, height, 0.01, 1000);
// Create ARKit lighting
this.arPointLight = new ThreeAR.Light();
this.arPointLight.position.y = 2;
this.mesh = new THREE.Object3D();
this.scene.add(this.arPointLight);
this.shadowLight = this.getShadowLight();
this.scene.add(this.shadowLight);
this.scene.add(this.shadowLight.target);
// this.scene.add(new THREE.DirectionalLightHelper(this.shadowLight));
onContextCreate = ({ gl, scale: pixelRatio, width, height }) => {
AR.setPlaneDetection(AR.PlaneDetectionTypes.Horizontal);
this.renderer = new ExpoTHREE.Renderer({ gl, pixelRatio, width, height });
this.scene = new THREE.Scene();
this.scene.background = new ThreeAR.BackgroundTexture(this.renderer);
this.camera = new ThreeAR.Camera(width, height, 0.01, 1000);
this.planes = new ThreeAR.Planes();
this.scene.add(this.planes);
};
onContextCreate = async (gl: GL.ExpoWebGLRenderingContext) => {
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(
75,
gl.drawingBufferWidth / gl.drawingBufferHeight,
0.1,
1000
);
const renderer = new Renderer({ gl });
renderer.setSize(gl.drawingBufferWidth, gl.drawingBufferHeight);
renderer.setClearColor(0xffffff, 0);
const geometry = new THREE.BoxGeometry(1, 1, 1);
const material = new THREE.MeshBasicMaterial({
map: new TextureLoader().load(require('../../../assets/images/swmansion.png')),
});
const cube = new THREE.Mesh(geometry, material);
onContextCreate = async ({ gl, scale: pixelRatio, width, height }) => {
AR.setPlaneDetection(AR.PlaneDetectionTypes.Horizontal);
this.renderer = new ExpoTHREE.Renderer({ gl, width, height, pixelRatio });
this.scene = new THREE.Scene();
this.scene.background = new ThreeAR.BackgroundTexture(this.renderer);
this.camera = new ThreeAR.Camera(width, height, 0.01, 1000);
this.setupLine();
this.magneticObject.add(new THREE.GridHelper(0.1, 5, 0xff0000, 0x0000ff));
this.scene.add(this.magneticObject);
};
onContextCreate = async ({ gl, scale: pixelRatio, width, height }) => {
AR.setPlaneDetection(AR.PlaneDetectionTypes.Horizontal);
await this.addDetectionImageAsync(Assets['marker.jpg']);
this.renderer = new ExpoTHREE.Renderer({ gl, pixelRatio, width, height });
this.renderer.gammaInput = this.renderer.gammaOutput = true;
this.renderer.shadowMap.enabled = true;
this.scene = new THREE.Scene();
this.scene.background = new ThreeAR.BackgroundTexture(this.renderer);
this.camera = new ThreeAR.Camera(width, height, 0.01, 1000);
await this.loadModel();
this.ambient = new ThreeAR.Light();
this.mesh.add(this.ambient);
this.mesh.add(this.shadow);
this.mesh.add(this.point);
};