<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright 2013 The Android Open Source Project

 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.
-->



<sample>
    <name>BasicRenderScript</name>
    <group>RenderScript</group>
    <package>com.example.android.basicrenderscript</package>

    <!-- change minSdk if needed-->
    <minSdk>16</minSdk>

    <dependency_external>'renderscript-v8.jar'</dependency_external>

    <defaultConfig>
            renderscriptTargetApi 18
            renderscriptSupportModeEnabled true
    </defaultConfig>

    <strings>
        <intro>
            <![CDATA[
            This sample demonstrates using RenderScript to perform basic image manipulation. Specifically, it allows users
            to dynamically adjust the saturation for an image using a slider. A custom RenderScript kernel performs the saturation
            adjustment, running the computation on the device\'s GPU or other compute hardware as deemed appropriate by the system.
            ]]>
        </intro>
    </strings>

    <template src="base"/>
    <common src="media"/>

    <metadata>
        <status>PUBLISHED</status>
        <categories>RenderScript</categories>
        <technologies>Android</technologies>
        <languages>Java</languages>
        <solutions>Mobile</solutions>
        <level>EXPERT</level>
        <icon>screenshots/icon-web.png</icon>
        <screenshots>
            <img>screenshots/main.png</img>
        </screenshots>
        <api_refs>
            <android>android.renderscript.RenderScript</android>
            <android>android.renderscript.Allocation</android>
        </api_refs>

        <description>
<![CDATA[
This sample demonstrates using RenderScript to perform basic image manipulation. Specifically, it allows users
to dynamically adjust the saturation for an image using a slider. A custom RenderScript kernel performs the saturation
adjustment, running the computation on the device\'s GPU or other compute hardware as deemed appropriate by the system.
]]>
        </description>

        <intro>
<![CDATA[
[RenderScript][1] is a framework for running computationally intensive tasks at high performance on Android. RenderScript is
primarily oriented for use with data-parallel computation, although serial computationally intensive workloads can
benefit as well.

The RenderScript runtime will parallelize work across all processors available on a device, such as multi-core CPUs,
GPUs, or DSPs, allowing you to focus on expressing algorithms rather than scheduling work or load balancing.
RenderScript is especially useful for applications performing image processing, computational photography, or computer
vision.

This sample demonstrates the fundamentals of writing a RenderScript compute kernel, and using it to perform basic image
manipulation. In this case, each pixel is transformed based on a liner interpolation between its original
RGB value and it's luminance (black-and-white) value, weighted based on the user's specified saturation target.

[1]: http://developer.android.com/guide/topics/renderscript/compute.html
[2]: http://developer.android.com/reference/renderscript/rs__cl_8rsh.html#a254612a612ff7539b01a1478e03d8697
]]>
        </intro>
    </metadata>
</sample>
