Skip to content

Commit d4d20e1

Browse files
committed
rebranding fixes #221
1 parent 619ce95 commit d4d20e1

File tree

209 files changed

+2007
-2033
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

209 files changed

+2007
-2033
lines changed

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@ ChangeLog
33

44
(f) fixed, (i) improved, (n) new feature
55

6+
- 4.0.0 (04/09/2022)
7+
- (i) rebranding to org.the3deer
8+
- (i) master branch renamed to main
69
- 3.5.0 (04/09/2022)
7-
- (n) merged shadow + geometry demo into master branch
10+
- (n) merged shadow + geometry demo into main branch
811
- 3.4.1 (23/09/2022)
912
- (f) bug fixing: lighting, textures, etc #176
1013
- (i) texture loading refactoring #61

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2020 The 3Deers
3+
Copyright (c) 2020 The 3Deer
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Android 3D Model Viewer
22
=======================
33

4-
![travis-ci badge](https://travis-ci.org/the3deers/android-3D-model-viewer.svg?branch=master)
4+
![travis-ci badge](https://travis-ci.org/the3deer/android-3D-model-viewer.svg?branch=main)
55

66
This is a demo of OpenGL ES 2.0.
77
It is basically an android application with a 3D engine that can load Wavefront OBJ, STL, DAE & GLTF files.
@@ -13,12 +13,13 @@ The purpose of this application is to learn and share how to draw using OpenGL l
1313
* GLTF format (gltf): https://www.khronos.org/gltf/
1414

1515

16-
News (17/09/2022)
16+
News (04/10/2022)
1717
=================
1818

19-
* New version released 3.4.0
19+
* Preparing version 4.0.0...
2020
* New orthographic, isometric and free camera views
2121
* GLTF basic support :)
22+
* Rebranding to org.the3deer
2223

2324
Demo
2425
====
@@ -52,7 +53,7 @@ but at least it's opened to anyone who wants to contribute or don't want to star
5253

5354
As this is my first android app and Im still learning the OpenGL 2.0 language, it is highly probable that there are bugs;
5455
but I will try to continue improving the app and adding more features. So please send me your comments, suggestions or
55-
complains by opening an [issue](https://github.com/the3deers/android-3D-model-viewer/issues) or email me to andresoviedo@gmail.com.
56+
complains by opening an [issue](https://github.com/the3deer/android-3D-model-viewer/issues) or email me to andresoviedo@gmail.com.
5657

5758
The app comes with some included 3D models that have different licenses.
5859

@@ -118,7 +119,7 @@ You can install the application in either of these ways:
118119
   export ANDROID_HOME=/home/$USER/Android/Sdk
119120
./gradlew assembleDebug
120121
adb install -r app/build/outputs/apk/app-debug.apk
121-
adb shell am start -n org.andresoviedo.dddmodel2/org.andresoviedo.app.model3D.MainActivity
122+
adb shell am start -n org.andresoviedo.dddmodel2/org.the3deer.app.model3D.MainActivity
122123
```
123124

124125
Open the application. You should see a menu. From there you can load models
@@ -156,8 +157,8 @@ Glases
156157

157158
You may need one of this glasses to view models in 3D virtual reality.
158159

159-
[<img src="https://raw.githubusercontent.com/the3deers/android-3D-model-viewer/master/market/glasses-3d.jpg">](https://amzn.to/2E8LhxC)
160-
[<img src="https://raw.githubusercontent.com/the3deers/android-3D-model-viewer/master/market/cardboard-3d.jpg">](https://amzn.to/2E8M1Tq)
160+
[<img src="https://raw.githubusercontent.com/the3deer/android-3D-model-viewer/main/market/glasses-3d.jpg">](https://amzn.to/2E8LhxC)
161+
[<img src="https://raw.githubusercontent.com/the3deer/android-3D-model-viewer/main/market/cardboard-3d.jpg">](https://amzn.to/2E8M1Tq)
161162

162163

163164
Dependencies
@@ -176,9 +177,9 @@ Acknowledgement
176177
===============
177178

178179
* For teaching how animation engine works: https://github.com/TheThinMatrix/OpenGL-Animation
179-
* To the lot of user's feedback: https://github.com/the3deers/android-3D-model-viewer/issues
180-
* To the many infinite educational resources found in Internet for free :)
180+
* To the lot of user's feedback: https://github.com/the3deer/android-3D-model-viewer/issues
181181
* For the GLTF parser https://github.com/javagl/JglTF
182+
* To the many infinite educational resources found in Internet for free :)
182183

183184

184185
Licenses
@@ -188,10 +189,10 @@ The following copyright notice and this permission notice shall be included in a
188189
copies or substantial portions of the Software.
189190

190191

191-
MIT License - Copyright (c) 2022 The 3Deers - https://github.com/the3deers
192+
MIT License - Copyright (c) 2022 The 3Deer - https://github.com/the3deer
192193
GNU LGPL v2.1 Copyright (c) 2001, 2002 Dipl. Ing. P. Szawlowski - STL Parser
193194
MIT License - https://github.com/javagl/JglTF - GLTF Parser
194-
ISC License - Earcut - https://github.com/the3deers/earcut
195+
ISC License - Earcut - https://github.com/the3deer/earcut
195196

196197

197198
Assets

app/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ android {
99
applicationId "org.andresoviedo.dddmodel2"
1010
minSdk 16
1111
targetSdk 33
12+
13+
multiDexEnabled true
1214
}
1315

1416
signingConfigs {

app/src/main/AndroidManifest.xml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
xmlns:tools="http://schemas.android.com/tools"
44
package="org.andresoviedo.dddmodel2"
55
android:versionCode="33"
6-
android:versionName="3.3.1">
6+
android:versionName="4.0.0">
77

88
<uses-sdk
99
tools:overrideLibrary="android.support.compat, android.arch.lifecycle" />
@@ -23,7 +23,7 @@
2323
android:largeHeap="true"
2424
android:requestLegacyExternalStorage="true">
2525
<activity
26-
android:name="org.andresoviedo.app.model3D.MainActivity"
26+
android:name="org.the3deer.app.model3D.MainActivity"
2727
android:exported="true"
2828
android:label="@string/app_name">
2929
<intent-filter>
@@ -33,40 +33,40 @@
3333
</intent-filter>
3434
</activity>
3535
<activity
36-
android:name="org.andresoviedo.app.model3D.view.MenuActivity"
36+
android:name="org.the3deer.app.model3D.view.MenuActivity"
3737
android:label="@string/title_activity_menu"
38-
android:parentActivityName="org.andresoviedo.app.model3D.MainActivity" >
38+
android:parentActivityName="org.the3deer.app.model3D.MainActivity" >
3939
</activity>
4040
<activity
41-
android:name="org.andresoviedo.util.view.TextActivity"
41+
android:name="org.the3deer.util.view.TextActivity"
4242
android:label="@string/title_activity_text"
43-
android:parentActivityName="org.andresoviedo.app.model3D.MainActivity" >
43+
android:parentActivityName="org.the3deer.app.model3D.MainActivity" >
4444
</activity>
4545
<activity
46-
android:name="org.andresoviedo.app.model3D.view.ModelActivity"
46+
android:name="org.the3deer.app.model3D.view.ModelActivity"
4747
android:label="@string/title_activity_model"
48-
android:parentActivityName="org.andresoviedo.app.model3D.MainActivity" >
48+
android:parentActivityName="org.the3deer.app.model3D.MainActivity" >
4949

5050
<!-- android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" -->
5151
</activity>
5252

5353

5454
<!-- Demos -->
5555
<activity
56-
android:name="org.andresoviedo.app.model3D.demo.GlyphsDemoActivity"
56+
android:name="org.the3deer.app.model3D.demo.GlyphsDemoActivity"
5757
android:label="@string/title_activity_model"
58-
android:parentActivityName="org.andresoviedo.app.model3D.MainActivity" >
58+
android:parentActivityName="org.the3deer.app.model3D.MainActivity" >
5959
</activity>
6060
<activity
61-
android:name="org.andresoviedo.app.model3D.demo.EarCutDemoActivity"
61+
android:name="org.the3deer.app.model3D.demo.EarCutDemoActivity"
6262
android:label="@string/title_activity_model"
63-
android:parentActivityName="org.andresoviedo.app.model3D.MainActivity" >
63+
android:parentActivityName="org.the3deer.app.model3D.MainActivity" >
6464
</activity>
6565

6666

6767
<!-- polybool -->
6868
<activity
69-
android:name="org.the3deers.polybool.demo.WebActivity"
69+
android:name="org.the3deer.polybool.demo.WebActivity"
7070
android:label="@string/app_name"
7171
android:theme="@style/Theme.AppCompat.NoActionBar">
7272

Original file line numberDiff line numberDiff line change
@@ -1,58 +1,58 @@
1-
package org.andresoviedo.app.model3D;
2-
3-
import android.app.Activity;
4-
import android.content.Intent;
5-
import android.os.Bundle;
6-
import android.view.Menu;
7-
8-
import org.andresoviedo.app.model3D.view.MenuActivity;
9-
import org.andresoviedo.app.model3D.view.ModelActivity;
10-
import org.andresoviedo.dddmodel2.R;
11-
import org.andresoviedo.util.android.AndroidURLStreamHandlerFactory;
12-
13-
import java.net.URL;
14-
15-
/**
16-
* This is the main android activity. From here we launch the whole stuff.
17-
*
18-
* Basically, this activity may serve to show a Splash screen and copy the assets (obj models) from the jar to external
19-
* directory.
20-
*
21-
* @author andresoviedo
22-
*
23-
*/
24-
public class MainActivity extends Activity {
25-
26-
27-
// Custom handler: org/andresoviedo/util/android/assets/Handler.class
28-
static {
29-
System.setProperty("java.protocol.handler.pkgs", "org.andresoviedo.util.android");
30-
URL.setURLStreamHandlerFactory(new AndroidURLStreamHandlerFactory());
31-
}
32-
33-
@Override
34-
protected void onCreate(Bundle savedInstanceState) {
35-
super.onCreate(savedInstanceState);
36-
37-
// Set main layout controls.
38-
// Basically, this is a screen with the app name just in the middle of the scree
39-
setContentView(R.layout.activity_main);
40-
41-
// Start Model activity.
42-
MainActivity.this.startActivity(new Intent(MainActivity.this.getApplicationContext(), MenuActivity.class));
43-
MainActivity.this.finish();
44-
}
45-
46-
@SuppressWarnings("unused")
47-
private void init() {
48-
MainActivity.this.startActivity(new Intent(MainActivity.this.getApplicationContext(), ModelActivity.class));
49-
MainActivity.this.finish();
50-
}
51-
52-
@Override
53-
public boolean onCreateOptionsMenu(Menu menu) {
54-
// Inflate the menu; this adds items to the action bar if it is present.
55-
getMenuInflater().inflate(R.menu.main, menu);
56-
return true;
57-
}
58-
}
1+
package org.the3deer.app.model3D;
2+
3+
import android.app.Activity;
4+
import android.content.Intent;
5+
import android.os.Bundle;
6+
import android.view.Menu;
7+
8+
import org.andresoviedo.dddmodel2.R;
9+
import org.the3deer.app.model3D.view.MenuActivity;
10+
import org.the3deer.app.model3D.view.ModelActivity;
11+
import org.the3deer.util.android.AndroidURLStreamHandlerFactory;
12+
13+
import java.net.URL;
14+
15+
/**
16+
* This is the main android activity. From here we launch the whole stuff.
17+
*
18+
* Basically, this activity may serve to show a Splash screen and copy the assets (obj models) from the jar to external
19+
* directory.
20+
*
21+
* @author andresoviedo
22+
*
23+
*/
24+
public class MainActivity extends Activity {
25+
26+
27+
// Custom handler: org/the3deer/util/android/assets/Handler.class
28+
static {
29+
System.setProperty("java.protocol.handler.pkgs", "org.the3deer.util.android");
30+
URL.setURLStreamHandlerFactory(new AndroidURLStreamHandlerFactory());
31+
}
32+
33+
@Override
34+
protected void onCreate(Bundle savedInstanceState) {
35+
super.onCreate(savedInstanceState);
36+
37+
// Set main layout controls.
38+
// Basically, this is a screen with the app name just in the middle of the scree
39+
setContentView(R.layout.activity_main);
40+
41+
// Start Model activity.
42+
MainActivity.this.startActivity(new Intent(MainActivity.this.getApplicationContext(), MenuActivity.class));
43+
MainActivity.this.finish();
44+
}
45+
46+
@SuppressWarnings("unused")
47+
private void init() {
48+
MainActivity.this.startActivity(new Intent(MainActivity.this.getApplicationContext(), ModelActivity.class));
49+
MainActivity.this.finish();
50+
}
51+
52+
@Override
53+
public boolean onCreateOptionsMenu(Menu menu) {
54+
// Inflate the menu; this adds items to the action bar if it is present.
55+
getMenuInflater().inflate(R.menu.main, menu);
56+
return true;
57+
}
58+
}

app/src/main/java/org/andresoviedo/app/model3D/demo/DemoLoaderTask.java renamed to app/src/main/java/org/the3deer/app/model3D/demo/DemoLoaderTask.java

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
1-
package org.andresoviedo.app.model3D.demo;
1+
package org.the3deer.app.model3D.demo;
22

33
import android.app.Activity;
44
import android.opengl.GLES20;
55
import android.util.Log;
66

7-
import org.andresoviedo.android_3d_model_engine.model.Object3DData;
8-
import org.andresoviedo.android_3d_model_engine.objects.Cube;
9-
import org.andresoviedo.android_3d_model_engine.services.LoadListener;
10-
import org.andresoviedo.android_3d_model_engine.services.LoadListenerAdapter;
11-
import org.andresoviedo.android_3d_model_engine.services.LoaderTask;
12-
import org.andresoviedo.android_3d_model_engine.services.SceneLoader;
13-
import org.andresoviedo.android_3d_model_engine.services.collada.ColladaLoader;
14-
import org.andresoviedo.android_3d_model_engine.services.wavefront.WavefrontLoader;
15-
import org.andresoviedo.android_3d_model_engine.util.Exploder;
16-
import org.andresoviedo.android_3d_model_engine.util.Rescaler;
17-
import org.andresoviedo.util.android.ContentUtils;
18-
import org.andresoviedo.util.io.IOUtils;
7+
import org.the3deer.android_3d_model_engine.model.Object3DData;
8+
import org.the3deer.android_3d_model_engine.objects.Cube;
9+
import org.the3deer.android_3d_model_engine.services.LoadListener;
10+
import org.the3deer.android_3d_model_engine.services.LoadListenerAdapter;
11+
import org.the3deer.android_3d_model_engine.services.LoaderTask;
12+
import org.the3deer.android_3d_model_engine.services.collada.ColladaLoader;
13+
import org.the3deer.android_3d_model_engine.services.wavefront.WavefrontLoader;
14+
import org.the3deer.android_3d_model_engine.util.Exploder;
15+
import org.the3deer.android_3d_model_engine.util.Rescaler;
16+
import org.the3deer.util.android.ContentUtils;
17+
import org.the3deer.util.io.IOUtils;
1918

2019
import java.io.InputStream;
2120
import java.net.URI;
@@ -120,7 +119,7 @@ public void onLoad(Object3DData obj53) {
120119
Rescaler.rescale(obj53, 2f);
121120
DemoLoaderTask.this.onLoad(obj53);
122121
}
123-
}).load(new URI("android://org.andresoviedo.dddmodel2/assets/models/teapot.obj")).get(0);
122+
}).load(new URI("android://org.the3deer.dddmodel2/assets/models/teapot.obj")).get(0);
124123

125124
//obj51.setScale(2f,2f,2f);
126125
//obj51.setSize(0.5f);
@@ -139,7 +138,7 @@ public void onLoad(Object3DData obj53) {
139138
obj53.setColor(new float[] { 0.0f, 1.0f, 1f, 1.0f });
140139
DemoLoaderTask.this.onLoad(obj53);
141140
}
142-
}).load(new URI("android://org.andresoviedo.dddmodel2/assets/models/cube.obj")).get(0);
141+
}).load(new URI("android://org.the3deer.dddmodel2/assets/models/cube.obj")).get(0);
143142

144143
//obj52.setScale(0.5f, 0.5f, 0.5f);
145144
//super.onLoad(obj52);
@@ -158,7 +157,7 @@ public void onLoad(Object3DData obj53) {
158157
obj53.setLocation(new float[] { 2f, 0f, 0f });
159158
DemoLoaderTask.this.onLoad(obj53);
160159
}
161-
}).load(new URI("android://org.andresoviedo.dddmodel2/assets/models/ToyPlane.obj")).get(0);
160+
}).load(new URI("android://org.the3deer.dddmodel2/assets/models/ToyPlane.obj")).get(0);
162161

163162
//super.onLoad(obj53);
164163
} catch (Exception ex) {
@@ -168,7 +167,7 @@ public void onLoad(Object3DData obj53) {
168167
// test loading object made of polygonal faces
169168
try {
170169
// this has heterogeneous faces
171-
Object3DData obj53 = new ColladaLoader().load(new URI("android://org.andresoviedo.dddmodel2/assets/models/cowboy.dae"), new LoadListenerAdapter(){
170+
Object3DData obj53 = new ColladaLoader().load(new URI("android://org.the3deer.dddmodel2/assets/models/cowboy.dae"), new LoadListenerAdapter(){
172171
@Override
173172
public void onLoad(Object3DData obj53) {
174173
obj53.setColor(new float[] { 1.0f, 1.0f, 1f, 1.0f });

0 commit comments

Comments
 (0)