Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 271290dc authored by Alex Sakhartchouk's avatar Alex Sakhartchouk Committed by Android (Google) Code Review
Browse files

Merge "Perf test"

parents c0734f6c 6b5222dd
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -20,5 +20,14 @@
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name="RsBench"
                  android:label="RsBenchmark"                  
                  android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ void main() {
   lowp vec4 col2 = texture2D(UNI_Tex2, t0).rgba;
   col0.xyz = col0.xyz*col1.xyz*1.5;
   col0.xyz = mix(col0.xyz, col2.xyz, col2.w);
   col0.w = 0.5;
   gl_FragColor = col0;
}
+29 −0
Original line number Diff line number Diff line
varying vec3 varWorldPos;
varying vec3 varWorldNormal;
varying vec2 varTex0;

void main() {

   vec3 V = normalize(-varWorldPos.xyz);
   vec3 worldNorm = normalize(varWorldNormal);

   vec3 light0Vec = normalize(UNI_light0_Posision.xyz - varWorldPos);
   vec3 light0R = -reflect(light0Vec, worldNorm);
   float light0_Diffuse = clamp(dot(worldNorm, light0Vec), 0.0, 1.0) * UNI_light0_Diffuse;
   float light0Spec = clamp(dot(light0R, V), 0.001, 1.0);
   float light0_Specular = pow(light0Spec, UNI_light0_CosinePower) * UNI_light0_Specular;

   vec3 light1Vec = normalize(UNI_light1_Posision.xyz - varWorldPos);
   vec3 light1R = reflect(light1Vec, worldNorm);
   float light1_Diffuse = clamp(dot(worldNorm, light1Vec), 0.0, 1.0) * UNI_light1_Diffuse;
   float light1Spec = clamp(dot(light1R, V), 0.001, 1.0);
   float light1_Specular = pow(light1Spec, UNI_light1_CosinePower) * UNI_light1_Specular;

   vec2 t0 = varTex0.xy;
   lowp vec4 col = texture2D(UNI_Tex0, t0).rgba;
   col.xyz = col.xyz * (light0_Diffuse * UNI_light0_DiffuseColor.xyz + light1_Diffuse * UNI_light1_DiffuseColor.xyz);
   col.xyz += light0_Specular * UNI_light0_SpecularColor.xyz;
   col.xyz += light1_Specular * UNI_light1_SpecularColor.xyz;
   gl_FragColor = col;
}
+22 −0
Original line number Diff line number Diff line
varying vec3 varWorldPos;
varying vec3 varWorldNormal;
varying vec2 varTex0;

// This is where actual shader code begins
void main() {
   vec4 objPos = ATTRIB_position;
   vec3 oldPos = objPos.xyz;
   objPos.xyz += 0.1*sin(objPos.xyz*2.0 + UNI_time);
   objPos.xyz += 0.05*sin(objPos.xyz*4.0 + UNI_time*0.5);
   objPos.xyz += 0.02*sin(objPos.xyz*7.0 + UNI_time*0.75);
   vec4 worldPos = UNI_model * objPos;
   gl_Position = UNI_proj * worldPos;

   mat3 model3 = mat3(UNI_model[0].xyz, UNI_model[1].xyz, UNI_model[2].xyz);
   vec3 worldNorm = model3 * (ATTRIB_normal + oldPos - objPos.xyz);
   //vec3 worldNorm = model3 * ATTRIB_normal;

   varWorldPos = worldPos.xyz;
   varWorldNormal = worldNorm;
   varTex0 = ATTRIB_texture0;
}
+17 −0
Original line number Diff line number Diff line
varying vec3 varWorldPos;
varying vec3 varWorldNormal;
varying vec2 varTex0;

// This is where actual shader code begins
void main() {
   vec4 objPos = ATTRIB_position;
   vec4 worldPos = UNI_model * objPos;
   gl_Position = UNI_proj * worldPos;

   mat3 model3 = mat3(UNI_model[0].xyz, UNI_model[1].xyz, UNI_model[2].xyz);
   vec3 worldNorm = model3 * ATTRIB_normal;

   varWorldPos = worldPos.xyz;
   varWorldNormal = worldNorm;
   varTex0 = ATTRIB_texture0;
}
Loading