Merge branch 'develop'

This commit is contained in:
2014-05-27 14:51:24 -04:30
22 changed files with 8450 additions and 88 deletions

View File

@@ -30,7 +30,7 @@
<listOptionValue builtIn="false" value="&quot;${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\include&quot;"/> <listOptionValue builtIn="false" value="&quot;${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\libs\armeabi-v7a\include&quot;"/> <listOptionValue builtIn="false" value="&quot;${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\libs\armeabi-v7a\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;C:\Users\miguel.astor\Documents\OpenCV-2.4.8-android-sdk\sdk\native\jni\include&quot;"/> <listOptionValue builtIn="false" value="&quot;C:\Users\miguel.astor\Documents\OpenCV-2.4.8-android-sdk\sdk\native\jni\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;../${NDKROOT]\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.8\include&quot;"/> <listOptionValue builtIn="false" value="&quot;C:\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.8\include&quot;"/>
</option> </option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1450614296" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/> <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1450614296" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool> </tool>
@@ -50,7 +50,7 @@
<listOptionValue builtIn="false" value="&quot;${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\include&quot;"/> <listOptionValue builtIn="false" value="&quot;${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\libs\armeabi-v7a\include&quot;"/> <listOptionValue builtIn="false" value="&quot;${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\libs\armeabi-v7a\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;C:\Users\miguel.astor\Documents\OpenCV-2.4.8-android-sdk\sdk\native\jni\include&quot;"/> <listOptionValue builtIn="false" value="&quot;C:\Users\miguel.astor\Documents\OpenCV-2.4.8-android-sdk\sdk\native\jni\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;../${NDKROOT]\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.8\include&quot;"/> <listOptionValue builtIn="false" value="&quot;C:\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.8\include&quot;"/>
</option> </option>
<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.343342792" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/> <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.343342792" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
</tool> </tool>
@@ -77,4 +77,5 @@
<resource resourceType="PROJECT" workspacePath="/NxtAR-android"/> <resource resourceType="PROJECT" workspacePath="/NxtAR-android"/>
</configuration> </configuration>
</storageModule> </storageModule>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cproject> </cproject>

View File

@@ -14,11 +14,10 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
--> -->
<!-- android:screenOrientation="portrait" -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ve.ucv.ciens.ccg.nxtar" package="ve.ucv.ciens.ccg.nxtar"
android:versionCode="140404" android:versionCode="140527"
android:versionName="14.04.04" > android:versionName="14.05.27" >
<uses-sdk android:minSdkVersion="12" android:targetSdkVersion="19" /> <uses-sdk android:minSdkVersion="12" android:targetSdkVersion="19" />

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

1101
assets/models/cube.g3dj Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,62 @@
/*
* Copyright (C) 2014 Miguel Angel Astor Romero
*
* 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.
*/
#ifdef GL_ES
precision mediump float;
#endif
// Ambient light color.
uniform vec4 u_ambient;
// Specular light color.
uniform vec4 u_specular;
// Shininess.
uniform float u_shiny;
// Fragment normal.
varying vec3 v_normal;
// Fragment shaded diffuse color.
varying vec4 v_diffuse;
// Vector from the fragment to the camera.
varying vec3 v_eyeVector;
// The light vector reflected around the fragment normal.
varying vec3 v_reflectedVector;
// The clamped dot product between the normal and the light vector.
varying float v_nDotL;
void main(){
// Normalize the input varyings.
vec3 normal = normalize(v_normal);
vec3 eyeVector = normalize(v_eyeVector);
vec3 reflectedVector = normalize(v_reflectedVector);
// Specular Term.
vec4 specular = vec4(0.0, 0.0, 0.0, 1.0);
if(v_nDotL > 0.0){
specular = u_specular * pow(max(dot(reflectedVector, eyeVector), 0.0), u_shiny);
}
// Aggregate light color.
vec4 finalColor = clamp(vec4(/*u_ambient.rgb*/ + v_diffuse.rgb + specular.rgb, 1.0), 0.0, 1.0);
// Final color.
gl_FragColor = finalColor;
}

View File

@@ -0,0 +1,116 @@
/*
* Copyright (C) 2014 Miguel Angel Astor Romero
*
* 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.
*/
// Model-view matrix.
uniform mat4 u_projTrans;
// The world space geometric transformation to apply to this vertex.
uniform mat4 u_geomTrans;
// The inverse transpose of the geometric transformation matrix.
uniform mat4 u_normalMatrix;
// Light source position
uniform vec3 u_lightPos;
// Diffuse light color.
uniform vec4 u_lightDiffuse;
// Camera world space position.
uniform vec3 u_cameraPos;
// Vertex color.
uniform vec4 u_materialDiffuse;
#ifdef SKINNING
// The model's bones.
uniform mat4 u_bone0;
uniform mat4 u_bone1;
uniform mat4 u_bone2;
uniform mat4 u_bone3;
#endif // SKINNING
// Vertex position in world coordinates.
attribute vec4 a_position;
// Vertex normal.
attribute vec4 a_normal;
#ifdef SKINNING
// The weight of each bone.
attribute vec2 a_boneWeight0;
attribute vec2 a_boneWeight1;
attribute vec2 a_boneWeight2;
attribute vec2 a_boneWeight3;
#endif // SKINNING
// Fragment normal.
varying vec3 v_normal;
// Diffuse shaded color.
varying vec4 v_diffuse;
// The vector from the vertex to the camera.
varying vec3 v_eyeVector;
// The light vector reflected around the vertex normal.
varying vec3 v_reflectedVector;
// The clamped dot product between the normal and the light vector.
varying float v_nDotL;
void main(){
vec4 transformedPosition;
vec3 lightVector = normalize(u_lightPos.xyz);
vec3 invLightVector = -lightVector;
#ifdef SKINNING
// Do the skinning.
mat4 bones[4];
bones[0] = u_bone0;
bones[1] = u_bone1;
bones[2] = u_bone2;
bones[3] = u_bone3;
mat4 skinning = mat4(0.0);
skinning += (a_boneWeight0.y) * bones[int(a_boneWeight0.x)];
skinning += (a_boneWeight1.y) * bones[int(a_boneWeight1.x)];
skinning += (a_boneWeight2.y) * bones[int(a_boneWeight2.x)];
skinning += (a_boneWeight3.y) * bones[int(a_boneWeight3.x)];
// Transform the model.
transformedPosition = u_geomTrans * skinning * a_position;
#else
transformedPosition = u_geomTrans * a_position;
#endif // SKINNING
// Set the varyings.
#ifdef SKINNING
v_normal = normalize(vec4(u_normalMatrix * skinning * a_normal).xyz);
#else
v_normal = normalize(vec4(u_normalMatrix * a_normal).xyz);
#endif // SKINNING
v_eyeVector = normalize(u_cameraPos.xyz - transformedPosition.xyz);
v_reflectedVector = normalize(reflect(invLightVector, v_normal));
// Diffuse Term.
float invNDotL = max(dot(v_normal.xyz, invLightVector), 0.0);
v_nDotL = max(dot(v_normal.xyz, lightVector), 0.0);
v_diffuse = (u_lightDiffuse * u_materialDiffuse * v_nDotL) + (vec4(0.1, 0.1, 0.2, 1.0) * u_materialDiffuse * invNDotL);
gl_Position = u_projTrans * transformedPosition;
}

View File

@@ -56,5 +56,5 @@ void main(){
vec4 lightColor = clamp(vec4(u_ambient.rgb + v_diffuse.rgb + specular.rgb, 1.0), 0.0, 1.0); vec4 lightColor = clamp(vec4(u_ambient.rgb + v_diffuse.rgb + specular.rgb, 1.0), 0.0, 1.0);
// Final color. // Final color.
gl_FragColor = clamp(lightColor * v_color, 0.0, 1.0); gl_FragColor = clamp(lightColor, 0.0, 1.0);
} }

View File

@@ -64,7 +64,7 @@ void main(){
v_color = a_color; v_color = a_color;
// Diffuse Term. // Diffuse Term.
v_diffuse = u_lightDiffuse * max(dot(a_normal.xyz, v_lightVector), 0.0); v_diffuse = u_lightDiffuse * vec4(1.0) * max(dot(a_normal.xyz, v_lightVector), 0.0);
gl_Position = u_projTrans * transformedPosition; gl_Position = u_projTrans * transformedPosition;
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -24,7 +24,7 @@ import org.opencv.android.Utils;
import org.opencv.core.Mat; import org.opencv.core.Mat;
import org.opencv.imgproc.Imgproc; import org.opencv.imgproc.Imgproc;
import ve.ucv.ciens.ccg.nxtar.interfaces.AndroidFunctionalityWrapper; import ve.ucv.ciens.ccg.nxtar.interfaces.ActionResolver;
import ve.ucv.ciens.ccg.nxtar.interfaces.ImageProcessor; import ve.ucv.ciens.ccg.nxtar.interfaces.ImageProcessor;
import ve.ucv.ciens.ccg.nxtar.utils.ProjectConstants; import ve.ucv.ciens.ccg.nxtar.utils.ProjectConstants;
import android.content.Context; import android.content.Context;
@@ -51,7 +51,7 @@ import com.badlogic.gdx.math.Vector3;
* <p>Provides operating system services to the LibGDX platform * <p>Provides operating system services to the LibGDX platform
* independant code, and handles OpenCV initialization and api calls.</p> * independant code, and handles OpenCV initialization and api calls.</p>
*/ */
public class MainActivity extends AndroidApplication implements AndroidFunctionalityWrapper, ImageProcessor{ public class MainActivity extends AndroidApplication implements ActionResolver, ImageProcessor{
/** /**
* Tag used for logging. * Tag used for logging.
*/ */
@@ -231,7 +231,6 @@ public class MainActivity extends AndroidApplication implements AndroidFunctiona
// Configure LibGDX. // Configure LibGDX.
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration(); AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.useGL20 = true;
cfg.useAccelerometer = false; cfg.useAccelerometer = false;
cfg.useCompass = false; cfg.useCompass = false;
cfg.useWakelock = true; cfg.useWakelock = true;