Thursday, March 24, 2011

Self Evaluation

So Joe asks us to do a small self evaluation, taking a look at what we've done and where we want to be done in the future.

Taking a look at my original proposal, I as way too ambitious. It is a little ridiculous and I think I knew it. There is no way I am getting my simulator up and running perfectly along side a step by step UI in QT. Although as it stands right now, I do have a decent simulator with different integration schemes and things kinda folding on the CPU. I wish it was in the state I said it would be in the original proposal, but as it stands it is something that can be showed off. It is definitely a good base for a larger project in the future.

So the things I have are:
  • Cloth System (CPU)
  • Structure, Shear and Bend Springs
  • Rotational Springs
  • Simple Rendering with keyboard controls
  • Gravity forces
  • XML Schema and XML input
I also learned how crazy a cloth simulator can act sometimes. They are certainly very fragile things. I have mixed feelings about not being on the GPU. In a way it was a giant relief since CUDA is so insane sometimes. But I feel like I should be better at CUDA and I need more experience with it. I will be moving over next week, so we'll see how it goes.

So am I disappointed about the current state of the project? A little. Am I surprised? No.

Before I go on to talk about what I want for the future, I want to say that I don't want to kill myself over this project. I don't want to worry about a UI and other surface things that will hamper the more core part of this project. This project is bigger than myself and I'll probably continue it with origamists and the maybe even the PMML project.
Going forward I wrote down the features I want to get done by the end and I organized them into must haves and would be nice.

Must Haves
  • Bug Fixes
  • Simple GPU Implementation
  • Paper Memory and in Simulation Alterations
  • New Rotation Spring class (multiple force points)
  • Prioritized Creases for Ordered Folding
Would Be Nice
  • Implicit Integration
  • Sparse Matrix GPU Implementation
  • Simple UI
Now that I have the list above, I spread them out across the next weeks in a way I feel is somewhat realistically. I feel that the GPU implementation is the largest thing there, mainly because it involves a whole new program in some respects. The bug fixes are a strange thing because it could take any amount of time. Here is my schedule:

March 25th - March 31st
  • Simple GPU implementation
  • Memory
April 1st - April 7th (Beta Review)
  • Bug Fixes
  • New Rotation Spring class
  • Prioritized rotation spring
April 8th - April 14th
  • Implicit integration
  • Sparse Matrix GPU implementation
April 15th - April 2st
  • Simple UI
April 22nd - April 26th (Final Presentation)
  • Poster
  • Presentation
April 29th and beyond
  • Testing and benchmarking
  • Commenting Code
  • Final Report
So as you can see I front loaded all the tasks that I feel I must have to the next two weeks. I don't expect them all to be done, which is why the later weeks are lighter and have tasks that I feel I could live without. So I hope to have a simple GPU implementation and some kind of memory changing paper by the beta review, but I'll probably only have one or the other. Tomorrow I hope to get a lot of work done, so we'll see how it goes. I've also taken into consideration the timing of my other papers and projects for other classes, so hopefully I won't have time problems.


No comments:

Post a Comment