JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdn.jsdelivr.net/npm/three@0.135.0/build/three.min.js"></script>
JavaScript
THREE.Object3D.DefaultUp.set(0, 0, 1);
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
const vertices = new Float32Array([
// Replace with this one, to see it fail to render the full rectangle
246.320663,117.859497,0.000000,
244.895833,121.204978,10.000000,
246.320663,117.859497,10.000000,
244.895833,121.204978,0.000000,
246.320663,117.859497,0.000000,
244.895833,121.204978,10.000000,
])
const geometry = new THREE.BufferGeometry();
// itemSize = 3 because there are 3 values (components) per vertex
geometry.setAttribute('position', new THREE.BufferAttribute(vertices, 3));
const material = new THREE.MeshBasicMaterial({
color: 0xff0000,
side: THREE.DoubleSide
});
const mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
camera.position.x = 270;
camera.position.y = 125;
camera.position.z = 5;
camera.lookAt(0, 0, 5);
const size = 260;
const divisions = 260;
var grid = new THREE.GridHelper(size, divisions, 0x444444, 0x888888);
grid.rotateX(Math.PI / 2);
scene.add(grid);
const axesHelper = new THREE.AxesHelper(260);
scene.add(axesHelper);
function render() {
renderRequested = false;
renderer.render(scene, camera);
}
function requestRenderIfNotRequested() {
if (!renderRequested) {
renderRequested = true;
requestAnimationFrame(render);
}
}
const animate = function() {
requestAnimationFrame(render);
// renderer.render( scene, camera );
};
animate();