diff options
author | Jason Sams <rjsams@android.com> | 2009-08-04 17:58:23 -0700 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2009-08-04 17:58:23 -0700 |
commit | 0835d42be9b215f845e30db03211c86670cfa12a (patch) | |
tree | cde00723e8788f56f00c69ca334f88e988146625 /graphics/java | |
parent | 22534176fb5c1257130ef4ee589739ca42766a32 (diff) | |
download | frameworks_base-0835d42be9b215f845e30db03211c86670cfa12a.zip frameworks_base-0835d42be9b215f845e30db03211c86670cfa12a.tar.gz frameworks_base-0835d42be9b215f845e30db03211c86670cfa12a.tar.bz2 |
Seperate Light and Sampler from RenderScript.java
Diffstat (limited to 'graphics/java')
-rw-r--r-- | graphics/java/android/renderscript/Light.java | 87 | ||||
-rw-r--r-- | graphics/java/android/renderscript/ProgramFragment.java | 2 | ||||
-rw-r--r-- | graphics/java/android/renderscript/RenderScript.java | 103 | ||||
-rw-r--r-- | graphics/java/android/renderscript/Sampler.java | 113 |
4 files changed, 201 insertions, 104 deletions
diff --git a/graphics/java/android/renderscript/Light.java b/graphics/java/android/renderscript/Light.java new file mode 100644 index 0000000..c9196aa --- /dev/null +++ b/graphics/java/android/renderscript/Light.java @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2008 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. + */ + +package android.renderscript; + + +import java.io.IOException; +import java.io.InputStream; + +import android.content.res.Resources; +import android.os.Bundle; +import android.util.Config; +import android.util.Log; + +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; + +/** + * @hide + * + **/ +public class Light extends BaseObj { + Light(int id, RenderScript rs) { + super(rs); + mID = id; + } + + public void destroy() { + mRS.nLightDestroy(mID); + mID = 0; + } + + public void setColor(float r, float g, float b) { + mRS.nLightSetColor(mID, r, g, b); + } + + public void setPosition(float x, float y, float z) { + mRS.nLightSetPosition(mID, x, y, z); + } + + public static class Builder { + RenderScript mRS; + boolean mIsMono; + boolean mIsLocal; + + public Builder(RenderScript rs) { + mRS = rs; + mIsMono = false; + mIsLocal = false; + } + + public void lightSetIsMono(boolean isMono) { + mIsMono = isMono; + } + + public void lightSetIsLocal(boolean isLocal) { + mIsLocal = isLocal; + } + + static synchronized Light internalCreate(RenderScript rs, Builder b) { + rs.nSamplerBegin(); + rs.nLightSetIsMono(b.mIsMono); + rs.nLightSetIsLocal(b.mIsLocal); + int id = rs.nLightCreate(); + return new Light(id, rs); + } + + public Light create() { + return internalCreate(mRS, this); + } + } + +} + diff --git a/graphics/java/android/renderscript/ProgramFragment.java b/graphics/java/android/renderscript/ProgramFragment.java index d98fe03..005fdf6 100644 --- a/graphics/java/android/renderscript/ProgramFragment.java +++ b/graphics/java/android/renderscript/ProgramFragment.java @@ -52,7 +52,7 @@ public class ProgramFragment extends BaseObj { mRS.nProgramFragmentBindTexture(mID, slot, va.mID); } - public void bindSampler(RenderScript.Sampler vs, int slot) { + public void bindSampler(Sampler vs, int slot) { mRS.nProgramFragmentBindSampler(mID, slot, vs.mID); } diff --git a/graphics/java/android/renderscript/RenderScript.java b/graphics/java/android/renderscript/RenderScript.java index 50a4494..cae80e9 100644 --- a/graphics/java/android/renderscript/RenderScript.java +++ b/graphics/java/android/renderscript/RenderScript.java @@ -201,35 +201,6 @@ public class RenderScript { } } - ////////////////////////////////////////////////////////////////////////////////// - // Element - - - public enum SamplerParam { - FILTER_MIN (0), - FILTER_MAG (1), - WRAP_MODE_S (2), - WRAP_MODE_T (3), - WRAP_MODE_R (4); - - int mID; - SamplerParam(int id) { - mID = id; - } - } - - public enum SamplerValue { - NEAREST (0), - LINEAR (1), - LINEAR_MIP_LINEAR (2), - WRAP (3), - CLAMP (4); - - int mID; - SamplerValue(int id) { - mID = id; - } - } ////////////////////////////////////////////////////////////////////////////////// // Triangle Mesh @@ -330,80 +301,6 @@ public class RenderScript { ////////////////////////////////////////////////////////////////////////////////// - // ProgramFragmentStore - - ////////////////////////////////////////////////////////////////////////////////// - // ProgramFragment - - ////////////////////////////////////////////////////////////////////////////////// - // Sampler - - public class Sampler extends BaseObj { - Sampler(int id) { - super(RenderScript.this); - mID = id; - } - - public void destroy() { - nSamplerDestroy(mID); - mID = 0; - } - } - - public void samplerBegin() { - nSamplerBegin(); - } - - public void samplerSet(SamplerParam p, SamplerValue v) { - nSamplerSet(p.mID, v.mID); - } - - public Sampler samplerCreate() { - int id = nSamplerCreate(); - return new Sampler(id); - } - - ////////////////////////////////////////////////////////////////////////////////// - // Light - - public class Light extends BaseObj { - Light(int id) { - super(RenderScript.this); - mID = id; - } - - public void destroy() { - nLightDestroy(mID); - mID = 0; - } - - public void setColor(float r, float g, float b) { - nLightSetColor(mID, r, g, b); - } - - public void setPosition(float x, float y, float z) { - nLightSetPosition(mID, x, y, z); - } - } - - public void lightBegin() { - nLightBegin(); - } - - public void lightSetIsMono(boolean isMono) { - nLightSetIsMono(isMono); - } - - public void lightSetIsLocal(boolean isLocal) { - nLightSetIsLocal(isLocal); - } - - public Light lightCreate() { - int id = nLightCreate(); - return new Light(id); - } - - ////////////////////////////////////////////////////////////////////////////////// // File public class File extends BaseObj { diff --git a/graphics/java/android/renderscript/Sampler.java b/graphics/java/android/renderscript/Sampler.java new file mode 100644 index 0000000..dfeac81 --- /dev/null +++ b/graphics/java/android/renderscript/Sampler.java @@ -0,0 +1,113 @@ +/* + * Copyright (C) 2008 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. + */ + +package android.renderscript; + + +import java.io.IOException; +import java.io.InputStream; + +import android.content.res.Resources; +import android.os.Bundle; +import android.util.Config; +import android.util.Log; + +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; + +/** + * @hide + * + **/ +public class Sampler extends BaseObj { + public enum Value { + NEAREST (0), + LINEAR (1), + LINEAR_MIP_LINEAR (2), + WRAP (3), + CLAMP (4); + + int mID; + Value(int id) { + mID = id; + } + } + + Sampler(int id, RenderScript rs) { + super(rs); + mID = id; + } + + public void destroy() { + mRS.nSamplerDestroy(mID); + mID = 0; + } + + public static class Builder { + RenderScript mRS; + Value mMin; + Value mMag; + Value mWrapS; + Value mWrapT; + Value mWrapR; + + public Builder(RenderScript rs) { + mRS = rs; + mMin = Value.NEAREST; + mMag = Value.NEAREST; + mWrapS = Value.WRAP; + mWrapT = Value.WRAP; + mWrapR = Value.WRAP; + } + + public void setMin(Value v) { + mMin = v; + } + + public void setMag(Value v) { + mMag = v; + } + + public void setWrapS(Value v) { + mWrapS = v; + } + + public void setWrapT(Value v) { + mWrapT = v; + } + + public void setWrapR(Value v) { + mWrapR = v; + } + + static synchronized Sampler internalCreate(RenderScript rs, Builder b) { + rs.nSamplerBegin(); + rs.nSamplerSet(0, b.mMin.mID); + rs.nSamplerSet(1, b.mMag.mID); + rs.nSamplerSet(2, b.mWrapS.mID); + rs.nSamplerSet(3, b.mWrapT.mID); + rs.nSamplerSet(4, b.mWrapR.mID); + int id = rs.nSamplerCreate(); + return new Sampler(id, rs); + } + + public Sampler create() { + return internalCreate(mRS, this); + } + } + +} + |