yzt
2023-05-26 2f70f6727314edd84d8ec2bfe3ce832803f1ea77
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
i3dmÄH0X{"INSTANCES_LENGTH":25,"EAST_NORTH_UP":true,"POSITION":{"byteOffset":0}})O”I‹Ê-yJ_P”IñАÊ-yJ•Q”I݊Ê-yJËR”IɊÊ-yJT”IµŠÊ-yJöN”IӊÊ§yJ,P”I¿ŠÊ§yJbQ”I«ŠÊ§yJ˜R”I—ŠÊ§yJÎS”I„ŠÊ§yJÃN”I¡ŠÊ"yJùO”IŠÊ"yJ/Q”IzАÊ"yJeR”IfАÊ"yJ›S”IRАÊ"yJN”IoŠÊœyJÆO”I\ŠÊœyJüP”IHŠÊœyJ1R”I4ŠÊœyJgS”I ŠÊœyJ\N”I>АÊ yJ’O”I*АÊ yJÈP”IАÊ yJþQ”IАÊ yJ4S”IÊ yJ{"Height":[20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20]} glTFÔ 0JSON{"accessors":[{"bufferView":3,"byteOffset":0,"componentType":5123,"count":36,"type":"SCALAR","min":[0],"max":[23]},{"bufferView":2,"byteOffset":0,"componentType":5126,"count":24,"min":[-10.000003814697266,-10,-10.000003814697266],"max":[10.000004768371582,10,10.000005722045898],"type":"VEC3"},{"bufferView":2,"byteOffset":288,"componentType":5126,"count":24,"type":"VEC3","min":[-1,-1,-1],"max":[1,1,1]}],"asset":{"generator":"OBJ2GLTF","version":"2.0"},"buffers":[{"byteLength":2184}],"bufferViews":[{"buffer":0,"byteLength":402,"byteOffset":648},{"buffer":0,"byteLength":1134,"byteOffset":1050},{"buffer":0,"byteLength":576,"byteOffset":0,"target":34962,"byteStride":12},{"buffer":0,"byteLength":72,"byteOffset":576,"target":34963}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorFactor":[1,1,1,1]},"emissiveFactor":[0,0,0],"alphaMode":"OPAQUE","doubleSided":false}],"meshes":[{"primitives":[{"attributes":{"POSITION":1,"NORMAL":2},"indices":0,"material":0,"mode":4}]}],"nodes":[{"mesh":0}],"scene":0,"scenes":[{"nodes":[0]}]}   ˆBIN A ÁÿÿÁ A Á A Á ÁþÿAüÿÁ Á Á A AúÿÁÿÿÁ A Á Á AüÿAùÿA A A A ÁÿÿÁ A AúÿÁùÿA A A A Á A A Á AùÿA A A Á AüÿA Á ÁþÿA Á ÁþÿA Á AüÿAÿÿÁ A ÁüÿÁ Á Á A AúÿÁ A ÁÿÿÁüÿÁ Á ÁÿÿÁ A Á€¿€¿€¿€¿€?€€?€€?€€?€€?€?€?€?€€€?€€€?€€€?€€€?€¿€€€¿€€€¿€€€¿€€€¿€¿€¿€¿  
 
 precision highp float;
uniform mat4 u_modelViewMatrix;
uniform mat4 u_projectionMatrix;
uniform mat3 u_normalMatrix;
attribute vec3 a_position;
varying vec3 v_positionEC;
attribute vec3 a_normal;
varying vec3 v_normal;
void main(void) {
  vec4 pos = u_modelViewMatrix * vec4(a_position,1.0);
  v_positionEC = pos.xyz;
  gl_Position = u_projectionMatrix * pos;
  v_normal = u_normalMatrix * a_normal;
}
precision highp float;
uniform vec4 u_ambient;
uniform vec4 u_diffuse;
uniform vec4 u_emission;
uniform vec4 u_specular;
uniform float u_shininess;
uniform float u_transparency;
varying vec3 v_positionEC;
varying vec3 v_normal;
void main(void) {
  vec3 normal = normalize(v_normal);
  vec4 diffuse = u_diffuse;
  vec3 diffuseLight = vec3(0.0, 0.0, 0.0);
  vec3 specular = u_specular.rgb;
  vec3 specularLight = vec3(0.0, 0.0, 0.0);
  vec3 emission = u_emission.rgb;
  vec3 ambient = u_ambient.rgb;
  vec3 viewDir = -normalize(v_positionEC);
  vec3 ambientLight = vec3(0.0, 0.0, 0.0);
  ambientLight += vec3(0.2, 0.2, 0.2);
  vec3 l = vec3(0.0, 0.0, 1.0);
  diffuseLight += vec3(1.0, 1.0, 1.0) * max(dot(normal,l), 0.);
  vec3 h = normalize(l + viewDir);
  float specularIntensity = max(0., pow(max(dot(normal, h), 0.), u_shininess));
  specularLight += vec3(1.0, 1.0, 1.0) * specularIntensity;
  vec3 color = vec3(0.0, 0.0, 0.0);
  color += diffuse.rgb * diffuseLight;
  color += specular * specularLight;
  color += emission;
  color += ambient * ambientLight;
  gl_FragColor = vec4(color * diffuse.a, diffuse.a * u_transparency);
}