@@ -6,7 +6,6 @@ Android 3D Model Viewer
66This is a demo of OpenGL ES 2.0.
77It is basically an android application with a 3D engine that can load Wavefront OBJ, STL, DAE & GLTF files.
88The purpose of this application is to learn and share how to draw using OpenGL language.
9- The application does not use any third party library.
109
1110* Wafefront format (OBJ): https://en.wikipedia.org/wiki/Wavefront_.obj_file
1211* STereoLithography format (STL): https://en.wikipedia.org/wiki/STL_(file_format)
@@ -161,6 +160,12 @@ You may need one of this glasses to view models in 3D virtual reality.
161160[ <img src =" https://raw.githubusercontent.com/the3deers/android-3D-model-viewer/master/market/cardboard-3d.jpg " >] ( https://amzn.to/2E8M1Tq )
162161
163162
163+ Dependencies
164+ ============
165+
166+ * implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.4' (gltf json parser)
167+
168+
164169Documentation
165170=============
166171
@@ -197,155 +202,4 @@ Assets
197202 * skybox sea : https://learnopengl.com/Advanced-OpenGL/Cubemaps
198203 * skybox sand : Copyright 2012 Mobialia - https://github.com/mobialia/jmini3d
199204 * repository (parts) : Community contribution (Professsor S)
200-
201-
202- ChangeLog
203- =========
204-
205- (f) fixed, (i) improved, (n) new feature
206-
207- - 3.4.1 (23/09/2022)
208- - (f) bug fixing: lighting, textures, etc #176
209- - (i) texture loading refactoring #61
210- - (i) shader refactoring & deduplication #61
211- - 3.4.0 (17/09/2022)
212- - (n) GLTF basic support #176
213- - 3.3.1 (12/09/2022)
214- - (f) fixed texture issue + color issue + blending issue. fixed #214
215- - (f) fixed texture issue #204
216- - (f) fixed STL binary fallback issue #208
217- - 3.3.0 (23/06/2022)
218- - (n) interactive object orientation
219- - (n) isometric, orthographic and free camera view
220- - (n) New gui axis + gui info
221- - (f) fixed FPS counter
222- - (i) some user options are being saved (camera settings)
223-
224- - 3.2.0 (02/02/2022)
225- - (i) repository explorer improved - multiple index files
226- - (f) smoothing fixed
227- - (f) fixed renderer memory leak
228- - 3.1.1 (28/10/2021)
229- - (f) google play required library upgrades
230- - (f) spanish menu fixed
231- - 3.1.0 (10/10/2020)
232- - (n) skybox
233- - (f) deleted unlicensed assets
234- - 3.0.4 (05/10/2020)
235- - (f) support for multiple skin controllers
236- - (f) skeleton fixed to use invert of inverse bind matrix
237- - 3.0.3 (05/09/2020)
238- - (f) smooth faces are now toggle featured - not all models should be smoothed
239- - (f) fixed normal calculation - using high precision numbers
240- - 3.0.2 (03/09/2020)
241- - (f) setUniform4fv function had length zero - issue detected with Xiaomi Redmi 8
242- - (f) gl_MaxVertexUniformVectors is apparently not working - "too many uniforms" - detected in Xiaomi Redmi 8
243- - 3.0.1 (15/07/2020)
244- - (f) Forgot to add requestLegacyExternalStorage option - Android 10 requirement
245- - 3.0.0 (15/07/2020)
246- - (n) Support for Object Groups (wavefront: o,g, dae: <geometry >)
247- - (n) Support for Smoothing Groups (wavefront)
248- - (n) migrated project to androidx compat libraries
249- - (n) GUI - fps counter - experimental framework
250- - (n) Collada support for polygon with holes (<ph >)
251- - (i) Complete re-engineering and refactoring of the code
252- - (i) Wavefront + Collada Loader reimplemented
253- - (f) Fixed overall bugs
254- - 2.7.0 (13/11/2019)
255- - (n) new blending force mode to 50%
256- - (f) fixed light rendering issues on shaders #125 (diffuse + specular)
257- - (f) fixed bugs when DAE had multiple geometries #125
258- - (f) fixed textures not being linked issue
259- - (f) fixed performance issues: now rendering below 5% cpu & no ram allocation
260- - 2.6.0 (20/10/2019)
261- - (n) #81 Support for collada files with multiple geometries
262- - (f) #94 fixed setVisible(boolean)
263- - (f) #92 fixed multiple color rendering for non-triangulated file.obj
264- - (i) overall engine improved
265- - 2.5.1 (20/05/2019)
266- - (f) wavefront loader fixed for meshObject point to negative indices
267- - 2.5.0 (19/05/2019)
268- - (n) new blending toggle
269- - (n) new color toggle
270- - (i) engine refactoring: externalized shaders
271- - (i) engine improved: fixed bugs and removed classes
272- - 2.4.0 (16/05/2019)
273- - (n) stereoscopic rendering: anaglyph + cardboard
274- - 2.3.0 (27/09/2018)
275- - (n) Externalized 3d engine into android library module
276- - (n) Wiki initial documentation
277- - 2.2.0 (11/09/2018)
278- - (n) Load models from app repository
279- - (i) Reduced app size to only 1 Megabyte
280- - 2.1.0 (07/09/2018)
281- - (n) Skeleton Animation
282- - (n) File chooser to load files from any where
283- - (f) Collada Animator fixed (INV_BIND_MATRIX, bind_shape_matrix)
284- - (f) Collada Animator Performance improved
285- - (f) Application refactoring (ContentUtils, Loaders, etc)
286- - (f) Several bugs fixed
287- - 2.0.4 (22/12/2017)
288- - (n) Implemented face collision detection algorithm: ray-triangle + octree
289- - 2.0.3 (21/12/2017)
290- - (i) Improved collision detection algorithm (ray-aabb) for selecting objects
291- - (i) BoundingBox code cleanup
292- - 2.0.2 (17/12/2017)
293- - (f) Collada XML parser is now android's XmlPullParser
294- - (f) Animation engine frame times improved
295- - (n) Camera now moves smoothly
296- - 2.0.1 (08/12/2017)
297- - (f) Multiple Collada parser fixes
298- - (f) Camera now can look inside objects
299- - 2.0.0 (24/11/2017)
300- - (n) Support for collada files with skeletal animations :)
301- - 1.4.1 (21/11/2017)
302- - (f) #29 : Crash loading obj with only vertex info
303- - 1.4.0 (19/11/2017)
304- - (f) #28 : Load texture available for any model having texture coordinates
305- - 1.3.1 (23/04/2017)
306- - (f) #18 : Removed asReadOnlyBuffer() because it is causing IndexOutOfBounds on Android 7
307- - 1.3.0 (17/04/2017)
308- - (n) #17 : Added support for STL files
309- - (n) #17 : Asynchronous building of model so the build rendering is previewed
310- - (f) #17 : Added Toasts to buttons to show current state
311- - 1.2.10 (16/04/2017)
312- - (f) #16 : Immersive mode is now configurable in the ModelActivity Intent: b.putString("immersiveMode", "false");
313- - (f) #16 : Background color configurable in the ModelActivity Intent: b.putString("backgroundColor", "0 0 0 1");
314- - (f) #16 : Fixed vertex normals generation (vertices were missing)
315- - (f) #16 : Scaling is now implemented in the ModelView Matrix with Object3DData.setScale(float[ ] )
316- - (f) #16 : Wireframe generation is now using the source data
317- - (n) #16 : Implemented Point Drawing, like wireframe mode but only the points are drawn
318- - (f) #16 : Removed trailing slash from parameter "assetDir"
319- - (f) #16 : Access to ByteBuffers made absolute so there are thread safe (future fixes need this)
320- - 1.2.9 (11/04/2017)
321- - (f) #15 : Toggle rotating light
322- - (f) #15 : Wireframe with textures and colors
323- - 1.2.8 (10/04/2017)
324- - (f) Fixed #14 : Camera movement improved. Only 1 rotation vector is used + space bounds set
325- - 1.2.8 (04/04/2017)
326- - (f) Fixed #13 : parsing of vertices with multiple spaces
327- - (i) Improved error handling on loading task
328- - (i) Vertices are defaulted to (0,0,0) if parsing fails
329- - 1.2.7 (03/04/2017)
330- - (i) Removed commons-lang3 dependency
331- - 1.2.6 (02/04/2017)
332- - (f) Fixed #12 . Drawing the wireframe using GL_LINES and the index buffer (drawElements)
333- - 1.2.5 (01/04/2017)
334- - (f) Fixed #10 . Map meshObject to texture only when using the only loaded texture
335- - (f) Fixed #11 . Generation of missing vertex normals
336- - 1.2.4 (30/03/2017)
337- - (f) Fixed #5 . Memory performance optimization
338- - 1.2.3 (27/03/2017)
339- - (f) Fixed #1 . Cpu performance optimization
340- - 1.2.2 (25/03/2017)
341- - (f) Fixed #9 . IOOBE loading face normals when meshObject had no texture or normals
342- - 1.2.1 (27/02/2017)
343- - (f) Fixed loading external files issue #6
344- - (i) Project moved to gradle
345- - 1.2.0 (06/04/2016)
346- - (n) Implemented selection of objects
347- - 1.1.0 (30/03/2016)
348- - (n) Implemented lighting & toggle textures & lights
349- - (i) Refactoring of 3DObjectImpl
350- - 1.0.0 (27/03/2016)
351- - (n) First release in Google Play Android Market
205+
0 commit comments