Fix markdown

master
Jeremy Hu 2017-07-29 22:47:11 +08:00
parent 62bc12f87d
commit 31f2597230
1 changed files with 33 additions and 31 deletions

View File

@ -12,7 +12,18 @@ From my initial thought, Dust3D should be a tool like [Makehuman](http://www.mak
TODO & Progress TODO & Progress
============== ==============
- [x] Drawing Primitives (Dec 15, 2016 ~ Dec 17, 2016) - [x] Drawing Primitives
- [x] Implement B-Mesh algorithm
- [x] Render B-Mesh result
- [ ] Design UI for monster parts configuration
- [ ] Render rigid animation
- [ ] png exporter for isometric 2.5D game
- [ ] Export Wavefront .obj
- [ ] Materials merge of different parts
- [ ] Version 0.01 release
- [ ] Implement [the Skeleton of a Closed 3D Shape](http://www1.idc.ac.il/icgf/GraphicsSeminar2006/DCGskeleton06.pdf)
**Dec 15, 2016 ~ Dec 17, 2016:**
*Sphere* *Sphere*
I don't want the whole project have any unnecessary dependent, like glu library. I don't want the whole project have any unnecessary dependent, like glu library.
Let's start with [drawing a sphere without gluSphere]( http://stackoverflow.com/questions/7687148/drawing-sphere-in-opengl-without-using-glusphere), because I want implement the same spheres which presented in the [B-Mesh paper](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.357.7134&rep=rep1&type=pdf). Let's start with [drawing a sphere without gluSphere]( http://stackoverflow.com/questions/7687148/drawing-sphere-in-opengl-without-using-glusphere), because I want implement the same spheres which presented in the [B-Mesh paper](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.357.7134&rep=rep1&type=pdf).
@ -22,7 +33,7 @@ Two caps and many strips composites a cylinder.
Almost all 3D editor have a infinite grid ground, I just made a finite one, in the future, I should expand the grid outside of the screen to make it infinite. Almost all 3D editor have a infinite grid ground, I just made a finite one, in the future, I should expand the grid outside of the screen to make it infinite.
Now, for just beginning, I think it's a not bad start. Now, for just beginning, I think it's a not bad start.
<img src="screenshot/dust3d_sphere_cylinder.png"> <img src="screenshot/dust3d_sphere_cylinder.png">
- [x] Implement B-Mesh algorithm (Dec 18, 2016 ~ Jan 04, 2017) **Dec 18, 2016 ~ Jan 04, 2017:**
There is a implementation of [B-Mesh algorithm in C++](https://github.com/evanw/cs224final) language, but I want the pure C version, so I start to implement my own version. I read both paper and this implementation, it gave me very helpful understanding of this algorithm. There is a implementation of [B-Mesh algorithm in C++](https://github.com/evanw/cs224final) language, but I want the pure C version, so I start to implement my own version. I read both paper and this implementation, it gave me very helpful understanding of this algorithm.
*Drawing Skeletal Shape Balls* *Drawing Skeletal Shape Balls*
Draw shape ball is easy, no need to rotate, I just need scale it along the ball's radius. Draw shape ball is easy, no need to rotate, I just need scale it along the ball's radius.
@ -51,9 +62,6 @@ I follow the B-Mesh paper, made another test module inside Blender, and created
<img src="screenshot/dust3d_subdivide_catmull_clark.png" width="124" height="128"> <img src="screenshot/dust3d_bmesh_subdivide_2.png" width="124" height="128"> <img src="screenshot/dust3d_subdivide_catmull_clark.png" width="124" height="128"> <img src="screenshot/dust3d_bmesh_subdivide_2.png" width="124" height="128">
There is a implementation of Catmull-Clark Subdivision algorithm on [rosettacode](https://rosettacode.org/wiki/Catmull%E2%80%93Clark_subdivision_surface/C), the code is very simple and beautiful, just lack of some memory alloc fail check. I translated the algorithm to use my own array implementation. There is a implementation of Catmull-Clark Subdivision algorithm on [rosettacode](https://rosettacode.org/wiki/Catmull%E2%80%93Clark_subdivision_surface/C), the code is very simple and beautiful, just lack of some memory alloc fail check. I translated the algorithm to use my own array implementation.
Now, the render result looks not bad after 2 times of subdivisions. I would like to mark this todo as done, though there are more polish steps on the original paper, I just leave it as to be done in the future. Now, the render result looks not bad after 2 times of subdivisions. I would like to mark this todo as done, though there are more polish steps on the original paper, I just leave it as to be done in the future.
- [x] Render B-Mesh result
This todo already done in the B-Mesh algorithm implementation.
- [ ] Design UI for monster parts configuration
**Jan 17, 2017 ~ Jan 18, 2017:** **Jan 17, 2017 ~ Jan 18, 2017:**
*Skeleton Editor* *Skeleton Editor*
There is a good tutorial introduced how to implement object selection by mouse in OpenGL, written by [Bartek](http://www.bfilipek.com/2012/06/select-mouse-opengl.html). There is a good tutorial introduced how to implement object selection by mouse in OpenGL, written by [Bartek](http://www.bfilipek.com/2012/06/select-mouse-opengl.html).
@ -72,9 +80,3 @@ This todo already done in the B-Mesh algorithm implementation.
<img src="screenshot/dust3d_glw_preview_dark_2.png" width="278" height="167"> <img src="screenshot/dust3d_glw_preview_dark_2.png" width="278" height="167">
**July 29, 2017:** **July 29, 2017:**
It's been more than 5 months since my last update. I was busy on preparing for my IELTS and PTE English test, and still is. However, the suspended period on this project make me rethink the progress though. Removing C++ from codebase and introducing Objective-C is really not a good idea, especially because my target is not making a GUI framework, but a modeling tool for game making. I need focus back on my original target. It's been more than 5 months since my last update. I was busy on preparing for my IELTS and PTE English test, and still is. However, the suspended period on this project make me rethink the progress though. Removing C++ from codebase and introducing Objective-C is really not a good idea, especially because my target is not making a GUI framework, but a modeling tool for game making. I need focus back on my original target.
- [ ] Render rigid animation
- [ ] png exporter for isometric 2.5D game
- [ ] Export Wavefront .obj
- [ ] Materials merge of different parts
- [ ] Version 0.01 release
- [ ] Implement [the Skeleton of a Closed 3D Shape](http://www1.idc.ac.il/icgf/GraphicsSeminar2006/DCGskeleton06.pdf)