<commit_before>
class SkyDome extends GameObject {
	constructor(transform) {
		super(transform);
		// setup GLSL program
		this.programInfo = twgl.createProgramInfo(gl, ["3d-vertex-shader-skydome", "3d-fragment-shader-skydome"])

		let arrays = {
			// Estos nombres dependen de las variables de los shaders
			a_position: {numComponents: 3, data: this.getGeometry()},
			a_color: {numComponents: 3, data: this.getColors()},
			a_normal: {numComponents: 3, data: this.getNormals()},
			a_texcoord: {numComponents: 2, data: this.getTextureCoords()}
		};

		this.bufferInfo = twgl.createBufferInfoFromArrays(gl, arrays);

		this.useTexture = false;
		this.texture = twgl.createTexture(gl, {src: "resources/textures/space_skybox_1.png"}, 
			(error, texture) => {
				if (!error){
					this.useTexture = true;
				} 
			});			
	}

	getUniforms(viewProjectionMatrix, worldMatrix) {
		let uniforms = { 
			u_texture: this.texture 
		};
		this.addGameObjectUniforms(uniforms, viewProjectionMatrix, worldMatrix);
		return uniforms;
	}

	getGeometry() {
		return new Float32Array([
			// bottom
			 8192, -8192, -8192,
			-8192, -8192, -8192,
			-8192, -8192,  8192,
		
			-8192, -8192,  8192,
			 8192, -8192,  8192,<commit_msg>texture preloading<commit_after>
class SkyDome extends GameObject {
	constructor(transform) {
		super(transform);
		// setup GLSL program
		this.programInfo = twgl.createProgramInfo(gl, ["3d-vertex-shader-skydome", "3d-fragment-shader-skydome"])

		let arrays = {
			// Estos nombres dependen de las variables de los shaders
			a_position: {numComponents: 3, data: this.getGeometry()},
			a_color: {numComponents: 3, data: this.getColors()},
			a_normal: {numComponents: 3, data: this.getNormals()},
			a_texcoord: {numComponents: 2, data: this.getTextureCoords()}
		};

		this.bufferInfo = twgl.createBufferInfoFromArrays(gl, arrays);

		this.useTexture = false;
		this.texture = twgl.createTexture(gl, {src: images.skybox}, 
			(error, texture) => {
				if (!error){
					this.useTexture = true;
				} 
			});			
	}

	getUniforms(viewProjectionMatrix, worldMatrix) {
		let uniforms = { 
			u_texture: this.texture 
		};
		this.addGameObjectUniforms(uniforms, viewProjectionMatrix, worldMatrix);
		return uniforms;
	}

	getGeometry() {
		return new Float32Array([
			// bottom
			 8192, -8192, -8192,
			-8192, -8192, -8192,
			-8192, -8192,  8192,
		
			-8192, -8192,  8192,
			 8192, -8192,  8192,
{'fraction_non_alphanumeric': 0.13713341594382486, 'fraction_numerical': 0.056588186699710864, 'mean_word_length': 3.675675675675676, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4300507', 'n_tokens_mistral': 1057, 'n_tokens_neox': 864, 'n_words': 182}