Merge branch 'develop'
@@ -30,7 +30,7 @@
|
|||||||
<listOptionValue builtIn="false" value=""${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\include""/>
|
<listOptionValue builtIn="false" value=""${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\include""/>
|
||||||
<listOptionValue builtIn="false" value=""${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\libs\armeabi-v7a\include""/>
|
<listOptionValue builtIn="false" value=""${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\libs\armeabi-v7a\include""/>
|
||||||
<listOptionValue builtIn="false" value=""C:\Users\miguel.astor\Documents\OpenCV-2.4.8-android-sdk\sdk\native\jni\include""/>
|
<listOptionValue builtIn="false" value=""C:\Users\miguel.astor\Documents\OpenCV-2.4.8-android-sdk\sdk\native\jni\include""/>
|
||||||
<listOptionValue builtIn="false" value=""../${NDKROOT]\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.8\include""/>
|
<listOptionValue builtIn="false" value=""C:\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.8\include""/>
|
||||||
</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=""${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\include""/>
|
<listOptionValue builtIn="false" value=""${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\include""/>
|
||||||
<listOptionValue builtIn="false" value=""${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\libs\armeabi-v7a\include""/>
|
<listOptionValue builtIn="false" value=""${NDKROOT}\sources\cxx-stl\gnu-libstdc++\4.6\libs\armeabi-v7a\include""/>
|
||||||
<listOptionValue builtIn="false" value=""C:\Users\miguel.astor\Documents\OpenCV-2.4.8-android-sdk\sdk\native\jni\include""/>
|
<listOptionValue builtIn="false" value=""C:\Users\miguel.astor\Documents\OpenCV-2.4.8-android-sdk\sdk\native\jni\include""/>
|
||||||
<listOptionValue builtIn="false" value=""../${NDKROOT]\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.8\include""/>
|
<listOptionValue builtIn="false" value=""C:\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.8\include""/>
|
||||||
</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>
|
||||||
|
@@ -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" />
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.3 KiB |
3542
assets/models/Bomb_test_1.g3dj
Normal file
BIN
assets/models/Bomb_test_2.g3db
Normal file
3542
assets/models/Bomb_test_2.g3dj
Normal file
1101
assets/models/cube.g3dj
Normal 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;
|
||||||
|
}
|
@@ -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;
|
||||||
|
}
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
|