Skip to content

Commit 212c245

Browse files
authored
Merge pull request #127 from andresoviedo/2.6.1
v2.7.0
2 parents 6e0ff77 + 7c60983 commit 212c245

40 files changed

+1170
-522
lines changed

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,10 @@
11
/bin
2+
.gradle/
3+
.idea/
4+
app/build/generated/
5+
app/build/intermediates/
6+
app/build/outputs/apk/debug/
7+
app/build/outputs/logs/
8+
app/build/reports/
9+
build/
10+
local.properties

README.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,14 @@ The application does not use any third party library.
1313
* Collada format (DAE): https://en.wikipedia.org/wiki/COLLADA
1414

1515

16-
News (20/10/2019)
16+
News (13/11/2019)
1717
=================
1818

19-
* New: Stereoscopic rendering: anaglyph (red-green glasses) & VR glasses (cardboard)
20-
* Fix: Bugs fixed - better support for collada DAE format - multiple geometries support
21-
* New: Engine refactoring
22-
19+
* New: version 2.7.0
20+
* Fix: Shader lighting improved !
21+
* Fix: Better support for Collada files
22+
* Fix: Performance issues fixed
23+
* Fix: Bugs fixed
2324

2425

2526
Demo
@@ -61,10 +62,8 @@ The app comes with some included 3D models that were taken for free from Interne
6162
Whats next
6263
==========
6364

64-
* Blender support
6565
* 3D without glasses
6666
* Augmented reality
67-
* Improve overall performance
6867

6968

7069
Features
@@ -180,6 +179,12 @@ ChangeLog
180179

181180
(f) fixed, (i) improved, (n) new feature
182181

182+
- 2.7.0 (13/11/2019)
183+
- (n) new blending force mode to 50%
184+
- (f) fixed light rendering issues on shaders #125 (diffuse + specular)
185+
- (f) fixed bugs when DAE had multiple geometries #125
186+
- (f) fixed textures not being linked issue
187+
- (f) fixed performance issues: now rendering below 5% cpu & no ram allocation
183188
- 2.6.0 (20/10/2019)
184189
- (n) #81 Support for collada files with multiple geometries
185190
- (f) #94 fixed setVisible(boolean)

app/app.iml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,21 +86,33 @@
8686
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
8787
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
8888
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
89+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/build-info" />
90+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
8991
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
9092
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
9193
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
94+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
95+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
96+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
97+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-apk" />
98+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-main-apk-res" />
9299
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaPrecompile" />
93100
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
101+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifest-checker" />
94102
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
95103
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />
96104
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/processing-tools" />
105+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
97106
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
107+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/resources" />
98108
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
99109
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
110+
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />
100111
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/splits-support" />
101112
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
102113
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
103114
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
115+
<excludeFolder url="file://$MODULE_DIR$/build/reports" />
104116
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
105117
</content>
106118
<orderEntry type="jdk" jdkName="Android API 28 Platform" jdkType="Android SDK" />
4.3 KB
Binary file not shown.

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:tools="http://schemas.android.com/tools"
44
package="org.andresoviedo.dddmodel2"
5-
android:versionCode="22"
6-
android:versionName="2.6.0" >
5+
android:versionCode="23"
6+
android:versionName="2.7.0" >
77

88
<uses-sdk
99
android:minSdkVersion="14"

app/src/main/java/org/andresoviedo/app/model3D/demo/SceneLoader.java

Lines changed: 40 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ public class SceneLoader implements LoaderTask.Callback {
5656
* Enable or disable blending (transparency)
5757
*/
5858
private boolean isBlendingEnabled = true;
59+
/**
60+
* Force transparency
61+
*/
62+
private boolean isBlendingForced = false;
5963
/**
6064
* Whether to draw objects as wireframes
6165
*/
@@ -71,6 +75,7 @@ public class SceneLoader implements LoaderTask.Callback {
7175
/**
7276
* Whether to draw face normals. Normally used to debug models
7377
*/
78+
// TODO: toggle feature this
7479
private boolean drawNormals = false;
7580
/**
7681
* Whether to draw using textures
@@ -251,19 +256,19 @@ public synchronized List<Object3DData> getObjects() {
251256

252257
public void toggleWireframe() {
253258
if (!this.drawWireframe && !this.drawingPoints && !this.drawSkeleton){
254-
this.drawWireframe = true;
255-
makeToastText("Wireframe", Toast.LENGTH_SHORT);
259+
this.drawWireframe = true;
260+
makeToastText("Wireframe", Toast.LENGTH_SHORT);
256261
} else if (!this.drawingPoints && !this.drawSkeleton){
257-
this.drawWireframe = false;
258-
this.drawingPoints = true;
259-
makeToastText("Points", Toast.LENGTH_SHORT);
262+
this.drawWireframe = false;
263+
this.drawingPoints = true;
264+
makeToastText("Points", Toast.LENGTH_SHORT);
260265
} else if (!this.drawSkeleton){
261-
this.drawingPoints = false;
262-
this.drawSkeleton = true;
263-
makeToastText("Skeleton", Toast.LENGTH_SHORT);
266+
this.drawingPoints = false;
267+
this.drawSkeleton = true;
268+
makeToastText("Skeleton", Toast.LENGTH_SHORT);
264269
} else {
265-
this.drawSkeleton = false;
266-
makeToastText("Faces", Toast.LENGTH_SHORT);
270+
this.drawSkeleton = false;
271+
makeToastText("Faces", Toast.LENGTH_SHORT);
267272
}
268273
requestRender();
269274
}
@@ -321,18 +326,14 @@ public void toggleLighting() {
321326
}
322327

323328
public void toggleAnimation() {
324-
if (!this.doAnimation && !this.showBindPose){
329+
if (!this.doAnimation){
325330
this.doAnimation = true;
331+
this.showBindPose = false;
326332
makeToastText("Animation on", Toast.LENGTH_SHORT);
327-
}
328-
else if (!this.showBindPose) {
329-
this.doAnimation = true;
330-
this.showBindPose = true;
331-
makeToastText("Bind pose", Toast.LENGTH_SHORT);
332333
} else {
333334
this.doAnimation = false;
334-
this.showBindPose = false;
335-
makeToastText("Animation off", Toast.LENGTH_SHORT);
335+
this.showBindPose = true;
336+
makeToastText("Bind pose", Toast.LENGTH_SHORT);
336337
}
337338
}
338339

@@ -404,14 +405,29 @@ public boolean isAnaglyph() {
404405
}
405406

406407
public void toggleBlending() {
407-
this.isBlendingEnabled = !isBlendingEnabled;
408-
makeToastText("Blending "+isBlendingEnabled, Toast.LENGTH_SHORT);
408+
if (this.isBlendingEnabled && !this.isBlendingForced){
409+
makeToastText("Blending forced", Toast.LENGTH_SHORT);
410+
this.isBlendingEnabled = true;
411+
this.isBlendingForced = true;
412+
} else if (this.isBlendingForced){
413+
makeToastText("Blending disabled", Toast.LENGTH_SHORT);
414+
this.isBlendingEnabled = false;
415+
this.isBlendingForced = false;
416+
} else {
417+
makeToastText("Blending enabled", Toast.LENGTH_SHORT);
418+
this.isBlendingEnabled = true;
419+
this.isBlendingForced = false;
420+
}
409421
}
410422

411423
public boolean isBlendingEnabled() {
412424
return isBlendingEnabled;
413425
}
414426

427+
public boolean isBlendingForced() {
428+
return isBlendingForced;
429+
}
430+
415431
@Override
416432
public void onStart(){
417433
ContentUtils.setThreadActivity(parent);
@@ -500,4 +516,8 @@ public void processTouch(float x, float y) {
500516
public void processMove(float dx1, float dy1) {
501517
userHasInteracted = true;
502518
}
519+
520+
public boolean isRotatingLight() {
521+
return rotatingLight;
522+
}
503523
}

0 commit comments

Comments
 (0)