Android-16에서 변경점: 구버전: 1. RSSurfaceView는 GLSurfaceView와 유사한 동작을 하며 GLRenderer를 set한다. 2. RenderScriptGL이라는 객체를 사용하며, GLSL shader program을 지원한다. 3. 2번과 연동되어 rsg_graphics.rsh를 지원하며 void main()대신에 int main()을 사용한다. 신버전: 1. RSSurfaceView, RenderScriptGL을 사용하지 않는다. 2. 따라서 GLSL을 사용하지 못하고 독자적으로 .rs에서 내장함수를 사용한다. 3. rsg_graphics.rsh를 사용할수 없다. int main()을 RenderScriptGL을 사용하지 않고는 call할 방법이 없다.
#include "rs_matrix.rsh" #pragma version(1) #pragma rs java_package_name(com.example.android.rs.hellocompute) float gFactor;// 0.0f: color, 1.0f: mono float3 m0 = {0.3588f, 0.7044f, 0.1368f}; float3 m1 = {0.2990f, 0.5870f, 0.1140f}; float3 m2 = {0.2392f, 0.4696f, 0.0912f}; void root(const uchar4 *v_in, uchar4 *v_out) { float4 f4 = rsUnpackColor8888(*v_in); float3 out; out.r = dot(f4.rgb, m0); ou..
FilterScript Introduced in Android 4.2 (API Level 17), Filterscript defines a subset of Renderscript that focuses on image processing operations, such as those that you would typically write with an OpenGL ES fragment shader.현재 android developer의 renderscript 항목에는 기본적으로 filterscript를 사용하기를 설명하고 있다.http://developer.android.com/guide/topics/renderscript/compute.htmlUsage Inputs and return values o..
// mono.rs #pragma version(1) #pragma rs java_package_name(com.example.renderscriptsample) float3 gMonoMult = {0.2125, 0.7154, 0.0721}; void root(const uchar4 *v_in, uchar4 *v_out) { float4 f4 = rsUnpackColor8888(*v_in); float3 mono = dot(f4.rgb, gMonoMult); *v_out = rsPackColorTo8888(mono); } MainActivity.java package com.example.renderscriptsample; import android.app.Activity; import android.g..
- Total
- Today
- Yesterday