1e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk/* 2e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * Copyright (C) 2012 The Android Open Source Project 3e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * 4e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * Licensed under the Apache License, Version 2.0 (the "License"); 5e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * you may not use this file except in compliance with the License. 6e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * You may obtain a copy of the License at 7e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * 8e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * http://www.apache.org/licenses/LICENSE-2.0 9e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * 10e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * Unless required by applicable law or agreed to in writing, software 11e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * distributed under the License is distributed on an "AS IS" BASIS, 12e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * See the License for the specific language governing permissions and 14e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * limitations under the License. 15e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk */ 16e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 17e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukpackage com.android.scenegraph; 18e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 19e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukimport java.lang.Math; 20e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 21e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukimport com.android.scenegraph.SceneManager; 22e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 23e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukimport android.content.res.Resources; 24e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukimport android.renderscript.*; 25e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukimport android.util.Log; 26e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 27e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk/** 28e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * @hide 29e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk */ 30e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukpublic class TextureRenderTarget extends TextureBase { 31e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk public TextureRenderTarget() { 32e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk super(ScriptC_export.const_TextureType_TEXTURE_RENDER_TARGET); 33e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk } 34e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 35e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk public TextureRenderTarget(Allocation tex) { 36e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk super(ScriptC_export.const_TextureType_TEXTURE_RENDER_TARGET); 37e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk setTexture(tex); 38e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk } 39e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 40e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk public void setTexture(Allocation tex) { 41e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk mData.texture = tex; 42e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk if (mField != null) { 43e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk mField.set_texture(0, mData.texture, true); 44e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk } 45e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk } 46e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 47e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk void load() { 48e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk } 49e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 50e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk ScriptField_Texture_s getRsData(boolean loadNow) { 51e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk if (mField != null) { 52e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk return mField; 53e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk } 54e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 55e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk RenderScriptGL rs = SceneManager.getRS(); 56e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk if (rs == null) { 57e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk return null; 58e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk } 59e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 60e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk mField = new ScriptField_Texture_s(rs, 1); 61e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk mField.set(mData, 0, true); 62e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk return mField; 63e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk } 64e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk} 65e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 66e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 67e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 68e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 69e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 70