diff options
Diffstat (limited to 'platform_tools/android/apps/skar_java/src/main/assets')
7 files changed, 168 insertions, 0 deletions
diff --git a/platform_tools/android/apps/skar_java/src/main/assets/models/trigrid.png b/platform_tools/android/apps/skar_java/src/main/assets/models/trigrid.png Binary files differnew file mode 100644 index 0000000000..05cbe6e52f --- /dev/null +++ b/platform_tools/android/apps/skar_java/src/main/assets/models/trigrid.png diff --git a/platform_tools/android/apps/skar_java/src/main/assets/shaders/plane.frag b/platform_tools/android/apps/skar_java/src/main/assets/shaders/plane.frag new file mode 100644 index 0000000000..d0a4708895 --- /dev/null +++ b/platform_tools/android/apps/skar_java/src/main/assets/shaders/plane.frag @@ -0,0 +1,31 @@ +/* + * Copyright 2017 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +precision highp float; +uniform sampler2D u_Texture; +uniform vec4 u_dotColor; +uniform vec4 u_lineColor; +uniform vec4 u_gridControl; // dotThreshold, lineThreshold, lineFadeShrink, occlusionShrink +varying vec3 v_TexCoordAlpha; + +void main() { + vec4 control = texture2D(u_Texture, v_TexCoordAlpha.xy); + float dotScale = v_TexCoordAlpha.z; + float lineFade = max(0.0, u_gridControl.z * v_TexCoordAlpha.z - (u_gridControl.z - 1.0)); + vec3 color = (control.r * dotScale > u_gridControl.x) ? u_dotColor.rgb + : (control.g > u_gridControl.y) ? u_lineColor.rgb * lineFade + : (u_lineColor.rgb * 0.25 * lineFade) ; + gl_FragColor = vec4(color, v_TexCoordAlpha.z * u_gridControl.w); +} diff --git a/platform_tools/android/apps/skar_java/src/main/assets/shaders/plane.vert b/platform_tools/android/apps/skar_java/src/main/assets/shaders/plane.vert new file mode 100644 index 0000000000..9ac5a6db27 --- /dev/null +++ b/platform_tools/android/apps/skar_java/src/main/assets/shaders/plane.vert @@ -0,0 +1,40 @@ +/* + * Copyright 2017 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +uniform mat4 u_Model; +uniform mat4 u_ModelViewProjection; +uniform mat2 u_PlaneUvMatrix; +uniform vec3 u_Normal; + +attribute vec3 a_XZPositionAlpha; // (x, z, alpha) + +varying vec3 v_TexCoordAlpha; + +void main() { + vec4 local_pos = vec4(a_XZPositionAlpha.x, 0.0, a_XZPositionAlpha.y, 1.0); + vec4 world_pos = u_Model * local_pos; + + // Construct two vectors that are orthogonal to the normal. + // This arbitrary choice is not co-linear with either horizontal + // or vertical plane normals. + const vec3 arbitrary = vec3(1.0, 1.0, 0.0); + vec3 vec_u = normalize(cross(u_Normal, arbitrary)); + vec3 vec_v = normalize(cross(u_Normal, vec_u)); + + // Project vertices in world frame onto vec_u and vec_v. + vec2 uv = vec2(dot(world_pos.xyz, vec_u), dot(world_pos.xyz, vec_v)); + v_TexCoordAlpha = vec3(u_PlaneUvMatrix * uv, a_XZPositionAlpha.z); + gl_Position = u_ModelViewProjection * local_pos; +} diff --git a/platform_tools/android/apps/skar_java/src/main/assets/shaders/point_cloud.frag b/platform_tools/android/apps/skar_java/src/main/assets/shaders/point_cloud.frag new file mode 100644 index 0000000000..463d0526e4 --- /dev/null +++ b/platform_tools/android/apps/skar_java/src/main/assets/shaders/point_cloud.frag @@ -0,0 +1,21 @@ +/* + * Copyright 2017 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +precision mediump float; +varying vec4 v_Color; + +void main() { + gl_FragColor = v_Color; +} diff --git a/platform_tools/android/apps/skar_java/src/main/assets/shaders/point_cloud.vert b/platform_tools/android/apps/skar_java/src/main/assets/shaders/point_cloud.vert new file mode 100644 index 0000000000..627fc1a6f3 --- /dev/null +++ b/platform_tools/android/apps/skar_java/src/main/assets/shaders/point_cloud.vert @@ -0,0 +1,28 @@ +/* + * Copyright 2017 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +uniform mat4 u_ModelViewProjection; +uniform vec4 u_Color; +uniform float u_PointSize; + +attribute vec4 a_Position; + +varying vec4 v_Color; + +void main() { + v_Color = u_Color; + gl_Position = u_ModelViewProjection * vec4(a_Position.xyz, 1.0); + gl_PointSize = u_PointSize; +} diff --git a/platform_tools/android/apps/skar_java/src/main/assets/shaders/screenquad.frag b/platform_tools/android/apps/skar_java/src/main/assets/shaders/screenquad.frag new file mode 100644 index 0000000000..800d723a80 --- /dev/null +++ b/platform_tools/android/apps/skar_java/src/main/assets/shaders/screenquad.frag @@ -0,0 +1,24 @@ +/* + * Copyright 2017 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#extension GL_OES_EGL_image_external : require + +precision mediump float; +varying vec2 v_TexCoord; +uniform samplerExternalOES sTexture; + + +void main() { + gl_FragColor = texture2D(sTexture, v_TexCoord); +} diff --git a/platform_tools/android/apps/skar_java/src/main/assets/shaders/screenquad.vert b/platform_tools/android/apps/skar_java/src/main/assets/shaders/screenquad.vert new file mode 100644 index 0000000000..01c93e3d48 --- /dev/null +++ b/platform_tools/android/apps/skar_java/src/main/assets/shaders/screenquad.vert @@ -0,0 +1,24 @@ +/* + * Copyright 2017 Google Inc. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +attribute vec4 a_Position; +attribute vec2 a_TexCoord; + +varying vec2 v_TexCoord; + +void main() { + gl_Position = a_Position; + v_TexCoord = a_TexCoord; +} |